GitHub - ousttrue/pydear
Contribute to ousttrue/pydear development by creating an account on GitHub.
https://github.com/ousttrue/cydeer
生成する
既存のライブラリ、特に拡張ライブラリに型ヒントを付与したいことがある。
これらは、元が c/c++
なのでその型情報から pyi
を生成してやる。
型情報は、 clang.cindex
を使って c/c++
のヘッダーから得るとよい。
vscode + pylance(pyright)
プロジェクトローカルでいい場合は、 ${workspaceFolder}/typings
に配置すると処理してくれる。
clang.cindex
に enum
の情報を追加してみた。
ctypes
- clang.cindex
もとのモジュールと構造が同じ pyi
を用意してやる。
ctypes
の Structure
や関数ポインタに直接型ヒントを付与うまい方法は無さそう?
拡張モジュール
- bpy
- imgui のバインディング
拡張モジュールに型ヒントを埋め込む方法がまだ無いっぽい。
埋め込む方法ができれば、 cython
や pybind
で作った拡張モジュールには自動で型ヒントが付きそうな気がするのだが。
imgui で作ってみた。
を参考に作ってみた。