Qulacs-Osaka / qulacs-osaka

Development branch of qulacs at Osaka Univ
MIT License
13 stars 6 forks source link

package with stubs #218

Closed KowerKoint closed 2 years ago

KowerKoint commented 2 years ago

close #202

stubをパッケージに含めてビルドする準備をしました。

とりあえず

bash gen_pysrc_withstubs.sh
python3 setup_withstubs.py install

を行うとパッケージに型情報が乗ることを再現していただきたいです(検証中はpython.analysis.stubPathを関係ない文字列(空文字列ではだめでした)に書き換えるなどでtypings内のstubは参照されないようにしておいてください)。

現在の問題点として、

が挙げられます。 これらの問題点をうまく解消するような設計についても意見を聞きたいです。

kotamanegi commented 2 years ago

パッケージに型情報が乗ることを確認しました!

Hiroya-W commented 2 years ago

同じく型情報見えるようになりました!

ikanago commented 2 years ago

型情報が生成されて定義ジャンプもできました.

stub ありとなしができてしまう問題は stub なしのパッケージを作らないことにすればよさそうです. qulacs_osaka_core が見えてしまう問題ですが,pysrc/qulacs_osaka/ 以下のファイルがこれを import しているので単純には解決できなさそうです.一応 pysrc-withstubs/qulacs_osaka_core/ を作ってから pysrc-withstubs/qulacs_osaka/ に適切に cp してコピー元を削除,みたいにすればできそうではありますが...

ikanago commented 2 years ago

設計の案として,ローカルで生成した *.pyipysrc 以下に置いて git 管理するというものが出てきました.

作業フロー

  1. setup.py でビルドする
  2. stubgen して typings/qulacs_osaka_core/*.pyi を生成する(typings は gitignore する)
  3. 生成された *.pyipysrc/qulacs_osaka 以下に適切にコピーする
  4. (必要であれば)setup.py で install する

改善点

注意点

KowerKoint commented 2 years ago

qulacs_osaka_coreのスタブファイルをそのままqulacs_osakaのものとして流用しても今のところ問題が見られなかったため、ikanagoさんの設計で進めています。 これからテストを書きます。

KowerKoint commented 2 years ago