public note

PyPI への Python パッケージリリース

いつも、どうやっているのだっけ...となるので備忘録代わりに。パッケージ管理ツールは Poetry を使っています。

(初回のみ) TestPyPI リポジトリの追加

poetry config repositories.testpypi https://test.pypi.org/legacy/

パッケージのビルド

poetry build

./dist に tar.gz や wheel が作られます。

ローカルファイルからインストール

ローカルで動作確認したい場合は tar.gz からパッケージインストール。

pip install "./dist/stairlight-0.8.2.tar.gz[gcs, redash, dbt-bigquery, s3]"

TestPyPI へ公開

PyPI へ公開する前に、TestPyPI で試します。

packaging.python.org

いつだったか、アカウント情報を使った publish ができなくなったため、管理画面からトークンを発行してそれを使っています。

poetry publish -r testpypi -u __token__ -p ********

公開したパッケージをインストールするには下記のコマンドを実行します。

pip install --index-url https://test.pypi.org/simple/ "stairlight[gcs, redash, dbt-bigquery, s3]==0.8.2"

PyPI へ公開

TestPyPI と PyPI は別なので、トークンも別で発行します。

poetry publish -u __token__ -p ********

感想

自動化したい。Release つくったらすっと公開できるとよいな。