MiPAについて

MiPA 2022年7月5日

この記事はMi.pyの後継となるMiPA / MiPACに関する記事となっています。

MiPAとMiPACって何?

まずMiPAとMiPACを解説する前に前作のMi.pyについて解説させていただきます。

Mi.py

  • BotFrameWorkとしての機能を持つ
  • APIを使用することもできる
  • グローバル変数などによってコードが複雑化していた

これらの点からMiPAとMiPACは以下のような違いを持っています

機能名 MiPA MiPAC Mi.py
BotFrameWork ×
APIへのアクセス
開発の容易さ ×

〇はそのプロジェクトで出来ることです
△はそのプロジェクトでもできるがそのプロジェクト本来の機能ではない、または低レベルなAPIとなっているのどちらかです
×はそのプロジェクトでは出来ないものです

表を見て分かる通り、Mi.pyは開発の容易さをかなり損なっており、それに対しMiPAとMiPACはどちらも開発のし易さがよくなっているのがわかると思います。

ここでやっと本題です。

MiPACとは

MiPACはMisskeyのAPIをラップしたものであり、完全ではありませんが多くのMisskey APIを用いることができます。

MiPAとは

MiPAは内部にMiPACを内包したBotFrameWorkです。WebSocketなどの通信を持ち、WebSocketから来たイベントを正しく処理し、MiPACを用いたモデル化などを行います。

Mi.pyはDiscord.pyを大きく参考にしており、構造などがかなり似通っています。そこに独自の要素などをつぎ込み続けた結果コードは複雑化してしまったという所もあります。

MiPACとMiPAはそんなMi.pyが持つ二つの機能であるBotFrameWorkとAPI Wrapperを別のライブラリとして作成したという形になっています。これにより状態の管理がし易くなりAPI Wrapperの作成をするからと言ってBotFrameWork側との循環インポートなどを気にせず作業できるようになりました。

最後に

Mi.pyを利用されてたかたには誠に申し訳ないのですが、多くのAPIをラップするうえでこのような変化が必要だと確信し、このような決定を下しました。WebSocketは使わないが、APIは使いたいといった需要にもお応えできるように作成したつもりです。ぜひご感想をこちらにお聞かせいただけると嬉しいです。それではまた!

タグ

yupix

yupix(ゆぴ)と申します。趣味でプログラミングをたしなんでいます。Pythonが一番好きで何の役にも立たないものとかを作ったりしてます。