RDKitは、Pythonで有機分子を取り扱うためにほとんど必須のライブラリであるにもかかわらず、型ヒント機能が脆弱であった。
この度stubが実装されて、とても快適になった。


3行まとめ

  • rdkit>=2023.09.6でstubが実装された。
  • これにより型ヒントが強化された。
  • さらに、ドキュメントがVSCode上で読めるようにもなった。

docstrings-stubs-13.png
RDKit blog - A stub a day keeps the docstrings at bay

これまで

rdkit.Chem.rdchem.Mol (Molオブジェクト) は分子を扱うためのオブジェクトである。Molオブジェクトには、原子の数を数える・芳香族性かどうかを判定する など、その分子の特徴を取り出すたくさんのメソッドが備わっている。

他のライブラリと違って、メソッドがキャメル型で定義されている (のに加えて私が英語に弱い) ため、タイプミスが多く、多くの時間を無駄にしてきた。

Pythonの多くのライブラリでは、型付けがなされていることも多く、正しいメソッド名をレコメンドしてくれるため効率が低下することがない。rdkitにはそれが備わっていなかったため、不便な思いをしていた。 (英語の勉強をしろという話ではあるが…)

今回なにが起こったか

2023.09.6から、自動的にstubを生成する環境が整備された。

stub (スタブ) については私もよくわかっていないのだが、「スタブファイル (.pyiファイル) を準備することで、ソースコード中に型付けされていないライブラリに対して型ヒントを書くことができる」と理解している。

参考: Stub files - mypy 1.10.0 documentation

コメント

本当に嬉しい。

リンク

やったこと紹介ブログ

プルリク