Skip to content

Build and Publish#

ライブラリを開発している場合は、プロジェクトに依存関係を追加し、コーディングを完了した後、パッケージを構築して公開します。これは1つのコマンドと同じくらい簡単です。:

1
pdm publish

これにより、ホイールとソース配布(sdist)が自動的に構築され、PyPIインデックスにアップロードされます。

PyPIでは、パッケージを公開するためにAPIトークンが必要です。ユーザ名として__token__を、パスワードとしてAPIトークンを使用できます。

PyPI以外の別のリポジトリを指定するには、--repositoryオプションを使用します。パラメータは、アップロードURLまたはconfigファイルに保存されているリポジトリの名前のいずれかです。

1
2
pdm publish --repository testpypi
pdm publish --repository https://test.pypi.org/legacy/

Publish with trusted publishers#

PyPIの信頼できるパブリッシャーを設定して、リリースワークフローでPyPIトークンを公開する必要がないようにすることができる。これを行うには、ガイドに従ってパブリッシャーを追加し、GitHub Actionsワークフローを次のように記述する。:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
jobs:
  pypi-publish:
    name: upload release to PyPI
    runs-on: ubuntu-latest
    permissions:
      # This permission is needed for private repositories.
      contents: read
      # IMPORTANT: this permission is mandatory for trusted publishing
      id-token: write
    steps:
      - uses: actions/checkout@v3

      - uses: pdm-project/setup-pdm@v3

      - name: Publish package distributions to PyPI
        run: pdm publish

Build and publish separately#

また、パッケージをビルドして2つのステップでアップロードし、アップロード前にビルドされたアーティファクトを検査することもできます。

1
pdm build

使用するバックエンドに応じて、ビルドプロセスを制御するための多くのオプションがあります。詳細については、build configurationセクションを参照してください。

アーティファクトはdist/に作成され、PyPIにアップロードできます。

1
pdm publish --no-build