ライブラリ

ライブラリ #

この章では、Poetryを使ってライブラリをインストール可能にする方法について説明します。

バージョン管理 #

Poetryは、すべてのプロジェクトでPEP 440に準拠したバージョンが必要です。

Poetryは特定のリリース規則を強制しませんが、以前はセマンティックバージョン管理PEP 440の範囲内で使用することを推奨しており、semverに特に適したバージョン制約をサポートしています。

注記
例として、`1.0.0-hotfix.1` は PEP 440 と互換性がありません。代わりに `1.0.0-post1` または `1.0.0.post1` を使用することができます。

ロックファイル #

ライブラリの場合、必要であれば `poetry.lock` ファイルをコミットしても構いません。これは、チームが常に同じ依存関係バージョンに対してテストを行うのに役立ちます。ただし、このロックファイルは、それに依存する他のプロジェクトには影響しません。メインプロジェクトにのみ影響します。

ロックファイルをコミットしたくない場合、gitを使用している場合は、`.gitignore` に追加してください。

パッケージング #

ライブラリを実際に公開するには、まずパッケージ化する必要があります。

poetry build

このコマンドは、ライブラリを2つの異なる形式でパッケージ化します。`sdist` はソース形式、`wheel` は `コンパイル済み` パッケージです。

Poetry はパッケージをビルドする際に、いくつかのメタデータファイルを自動的に含めます。`wheel` をビルドする際には、以下のファイルが `.dist-info` ディレクトリに含まれます。

  • LICENSE
  • LICENSE.*
  • COPYING
  • COPYING.*
  • LICENSES/**

`sdist` をビルドする際には、以下のファイルがルートフォルダに含まれます。

  • LICENSE*

ビルドが完了したら、ライブラリを公開する準備が整います。

PyPIへの公開 #

これでパッケージを公開できるようになりました。

PoetryはデフォルトでPyPIに公開します。PyPIに公開されたものは、Poetryを通じて自動的に利用可能になります。pendulumはPyPIにあるため、追加のリポジトリを指定することなく依存関係にすることができます。

`poetry-demo` をPythonコミュニティと共有したい場合は、PyPIにも公開します。公開は非常に簡単です。

poetry publish

これは、あなたが登録ユーザーであり、認証情報を適切に設定しているという条件で、ライブラリをパッケージ化してPyPIに公開します。

注記

`publish` コマンドは、デフォルトでは `build` を実行しません。

パッケージをまとめてビルドして公開したい場合は、 `--build` オプションを渡すだけです。

これが完了すると、ライブラリは誰でも利用できるようになります。

プライベートリポジトリへの公開 #

ライブラリを非公開にしておきたいが、チームがアクセスできるようにしたい場合があります。

この場合、プライベートリポジトリを使用する必要があります。

プライベートリポジトリに公開するには、グローバルなリポジトリリストにそれを追加する必要があります。詳細はリポジトリの追加を参照してください。

これが完了したら、実際に次のように公開できます。

poetry publish -r my-repository