Site icon image Yuzulia

Powered by YuzuRyo61.

Misskey.pyに関する今後の展開について

ゆずりょーです。

私が開発しているMisskey用Pythonライブラリ、Misskey.pyに関する今後の展開について、お知らせしたく、今回の記事を出すことにしました。

まず、Misskey.pyを使用したことがあるユーザーの皆さまには感謝しています。

しかしながら、私の開発のモチベーションが低下し、1年半以上メンテナンスできず、最新のMisskeyに追随ができていない状態が続いています。
プルリクエストも頂いておりますが、未だコード確認ができずにいます。

また、Misskey本体のAPIドキュメントの内容に不備があるのも、モチベーションが維持できない要因の一つになっていると思います。

Misskey.pyを使用したことがあるユーザーの皆さまやプルリクエストをお送りしていただいた開発者の皆さまには、申し訳なく思います。

そこで、「Misskey.py v5」プロジェクト(以下、v5プロジェクト)として、再びライブラリのコードをリビルドすることとしました。

Misskey.pyの開発がスタートしたのは2018年頃であり、複数回のメジャーアップデートを続けるなどして、Misskey.pyの改善を図ってきました。

今回のv5プロジェクトでは先述の通り、コードを一からリビルドすることはもちろんのこと、以下の機能を追加することを計画しています。

非同期処理に対応した形式

従来のMisskey.pyでは、requestsを使用した同期型のHTTP通信を行っています。

同期型の処理を行うため、非同期処理が必要なアプリケーションなどでは不便なライブラリでした。

そこで、HTTP通信をするライブラリを非同期処理に対応したライブラリを採用し、非同期処理に対応したライブラリにすることを目指します。

返り値を型対応した形式

従来のMisskey.pyの返り値は、辞書形式やリストの辞書形式をそのまま返す形式で、ユーザーにMisskeyのAPIドキュメントを参照して、必要なデータを辞書やリストから取り出す、丸投げな状態でした。

処理の実装は簡単であるものの、ライブラリとしては不便なものでした。

ユーザーがMisskeyのAPIドキュメントを参照することなく、一目ですぐに分かるようなクラスに近いような型の形式を返し、利便性を高めます。

ユニットテスト、CIの見直し

今までのMisskey.pyでは、プッシュ時にすぐにCIがトリガーされるように処理され、スピードを重視した設計のCIのコードのため、正確なテストを実施できていない可能性がありました。

そこで、CIのトリガー方法をナイトリー形式にすることにし、正確かつ安定的なテストを実施します。Misskeyのバージョンは最新のリリースを常に使用することを想定しています。

静的コードチェック(lint)については引き続きプッシュ時で行えるようにします。

以上で紹介した内容は今後v5プロジェクト開発を進めていくにつれ、追加する場合があります。

Misskeyのコミュニティが拡大していることに、私はとても嬉しく思います。ですので、そのコミュニティを拡大すべく、モチベーションを取り戻してMisskey.pyの開発を再スタートする予定です。

Misskey.pyに欲しい機能や課題点があれば、Misskey.pyのIssueにお寄せください。

P.S.

今年もMisskey Advent Calendarを主宰させていただきます。

登録は早いもの勝ちなので、まずはご登録をお願いします!(1枠目は満員御礼です)