2024-02-03
概要
- PyPI は Python のパッケージレジストリ
- PyPI には TestPyPI というテスト環境がありパッケージ登録を試行できる
- TestPyPI へ poetry publish してみた
Links
- PyPI ... pypi.org
- TestPyPI ... test.pypi.org
事前準備: TestPyPI のアカウント作成
- TestPyPI のアカウントを作成する
- API Key を発行する
API Key は poetry publish する際に必要です
パブリッシュ時の設定を記述
pyproject.toml
にパブリッシュ時の設定を記述します
[tool.poetry] name = "exampleapp" version = "0.0.1" description = "" authors = ["example <[email protected]>"] packages = [ { include = "exampleapp" }, ] classifiers=[ 'Programming Language :: Python :: 3.11', ] [tool.poetry.urls] repository = "https://github.com/example/example"
- pyproject.toml の書き方
- おそらく setup.py 相当
poetry publish
poetry publish
というコマンドを叩けばパブリッシュできます。
GitHub Actions で実行してみました。環境変数 TESTPYPI_TOKEN へ API Key を設定ください
name: publish on: push: tags: - '*' jobs: publish: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.11' - uses: abatilo/actions-poetry@v2 # ビルド - run: poetry install - run: poetry build # TestPyPI へパブリッシュするための設定 - run: poetry config repositories.testpypi https://test.pypi.org/legacy/ # TestPyPI へパブリッシュ - run: poetry publish -u __token__ -p "$TESTPYPI_TOKEN" -r testpypi env: TESTPYPI_TOKEN: ${{ secrets.TESTPYPI_TOKEN }}
- API Key でパブリッシュする際 username に
__token__
を指定する https://test.pypi.org/help/#invalid-auth
感想
- poetry がパブリッシュまでカバーしているとは知らなかった
- PyPI にテスト環境があるのは嬉しい。事前に検証できて心理的に楽
作成日
2024-02-03
更新日
2024-02-03