テクめも

プログラミング関連のちょっとしたTipsなどを書いています。

pyproject.toml利用時にアプリのバージョンを取得する

Pythonパッケージを作成する際、__init__.pyにバージョンを書いておき、setup.pyでは__init__.pyからimportすることが一般的かと思います。しかし、pyproject.toml を利用するとPythonファイルではないので setup.py のようにバージョンをimportすることはできなくなります。

そこで、pyproject.toml利用時は、pyproject.tomlにバージョンを書いておき、アプリ側から以下のようにimportすることを考えます。

import pkg_resources
version = pkg_resources.get_distribution('package-name').version

参考

How to get version from pyproject.toml from python app? · Issue #273 · python-poetry/poetry · GitHub