Open4
PEP561についてのメモ
PEP561 ではパッケージに型ヒント情報を組み込んで配布するための方法を定義している。
- パッケージに型ヒント情報を持たせて配布し、型チェックを可能にしたい場合、
py.typed
というマーカーファイルが必要。 - マーカーファイルはパッケージに型ヒントを含めることを表し、再帰的にサブパッケージにも適用される。その為、トップ階層に配置しているケースが見られる。
PEP561に従うと以下のようなパッケージが作成可能。
- 型ヒント情報も含んだ状態のパッケージ
- 他のパッケージに対する型ヒント情報だけを含むパッケージ(スタブパッケージ)
- 例えば、numpy に対する numpy-stabs
型ヒント情報も含んだ状態のパッケージ
- モジュールのトップの階層に
py.typed
を配置
project_root_directory
├── pyproject.toml
└── src
└── mypkg
├── __init__.py
└── py.typed
- パッケージングに Setuptools を使う場合は
pyproject.toml
に以下のように記述- Poetry や Flit を使う場合は、自動的に検出されるので特別な指定は不要
[tool.setuptools.package-data]
mypkg = ["py.typed"]