yupix
1c19685d00
|
1 year ago | |
---|---|---|
.github | 2 years ago | |
.vscode | 2 years ago | |
compiler | 1 year ago | |
mipac | 1 year ago | |
utils | 1 year ago | |
.editorconfig | 2 years ago | |
.flake8 | 2 years ago | |
.gitattributes | 2 years ago | |
.gitignore | 2 years ago | |
.pre-commit-config.yaml | 2 years ago | |
CHANGELOG.md | 1 year ago | |
LICENSE | 2 years ago | |
MANIFEST.in | 2 years ago | |
README.md | 1 year ago | |
pyproject.toml | 2 years ago | |
requirements.txt | 2 years ago | |
setup.cfg | 2 years ago | |
setup.py | 1 year ago | |
versioneer.py | 2 years ago |
README.md
MiPAC
概要
MiPAのCoreとなるライブラリです。
MiPACはMisskey v11, 12, 13をサポートしているApi Wrapperです。 本来気にしないといけないバージョンごとのAPIの違い等を吸収してくれます。
サポートしているMisskey
name | version | supported |
---|---|---|
Misskey Official | v13, v12, v11 | 〇 |
Ayuskey | v5, v6 | 〇 |
使い方
import asyncio
from mipac.client import Client
async def main():
client = Client(url, token)
await client.http.login()
api = client.api
note = await api.note.action.send('Hello World')
print(note.author.name, note.content)
if __name__ == '__main__':
asyncio.run(main())
Migration from v0.3.0 to v0.4.0
configの属性が変更されました
is_official
が削除されました
重要 use_version
が追加されました
Misskeyではv11,v12,v13とバージョンがあり、バージョンによっては使用できないAPIがあったりします。MiPACではuse_version
を指定することで事前に使用できるかどうかを確認し、使用できない場合はNotSupportVersion
という例外を返します。このようにご自分のインスタンスのバージョンを書いていただくだけで、よくわからないエラーを事前に防ぐことが出来ます。(issue等にエラーを報告場合は必ず適切に設定されているか確認してください)
v13はまだリリースされて日が浅く、全てのインスタンスがアップデートしたとは考えにくいため、現在のデフォルト値は12
となっています。
Client
のオプションから config
が削除されました
今後configを参照する際は Client.config
を使用してください。
また、値を更新する場合はClient.config.from_dict()を用いることをお勧めします。
通常の変更方法との違いは以下の通りです。
Client.config.is_ayuskey = True
Client.config.use_version = 13
Client.config.from_dict(is_ayuskey=True, use_version=13)
上記のように複数の値を同時に更新する場合特にfrom_dict
は有効な方法になります。
注意事項
一部サーバー(インスタンス)のバージョンによっては正常に動作しない可能性があります
MiPACの特徴として、v11,v12,v13のバージョンごとに生じる変更点をなるべく気にしなくてよいように作成していますが、現状の最新版であるv13でもv13の中で削除されたり、増えたりした物があります。結果的に追従しきれていない箇所があることがあります。そのため、そのような物を見つけた場合は、使用しているサーバーのバージョンと使用できないエンドポイント名をIssueに送信してください。
モデルを基本的に自分でインスタンス化することは推奨しません
MiPACのモデルでは多くの場合、キーワード引数に client
を受け取り、それを用いてapi
プロパティを生成します。しかし、サポート途中の機能なのではそこが省かれ、リリース後にモデルのインスタンス化に必要な引数として client
が追加されることがあります。また、他にもモデルの更新のために引数が変更される可能性があります。そのため、引数の変更に関することをCHANGELOG等で通知することはありません。
開発者向け情報
このプロジェクトでは blackのforkである、axblackを利用しています。主な違いはダブルクォートがデフォルトではなく、シングルクォートになっている点です
LICENSE
準備中
Documentation * Discord Server