PEP 621とPEP 517のメタデータに基づいて、仮想環境、ロックファイル、ビルドを管理する最新のPythonパッケージ・依存関係管理ツール。
python-poetry/poetry
単一のpyproject.tomlファイルでプロジェクトの依存関係を宣言、ロック、インストールできるPythonのパッケージング・依存関係管理ツールです。
代替できる製品:pip
- スター
- 34,368
- フォーク
- 2,577
- 未解決の Issue
- 622
- 最終コミット
- 5 日前
これは何?
Poetryは、Python開発者がプロジェクトの依存関係を宣言、管理、インストールし、ほかのマシンでも同じ環境を再現できるようにします。setup.py、requirements.txt、setup.cfg、MANIFEST.in、Pipfileを組み合わせる従来の方法に代わり、プロジェクトのメタデータ、依存関係、スクリプト、ビルド設定を単一のpyproject.tomlファイルに記述できます。
依存関係は(dev、docs、lintなどの)グループに分けて必要なものだけをインストールでき、インストール時に任意のextrasを有効化することもできます。依存関係の取得元にはPyPI、Gitリポジトリ、ローカルパスを指定でき、バージョン制約にはsemver形式の構文を使います。また、poetry-coreを通じてビルドバックエンドとしても機能するため、同じツールでプロジェクトをパッケージ化して公開できます。
主な機能
- 01プロジェクトのメタデータと依存関係を単一のpyproject.tomlファイルに記述できます。
- 02依存関係のグループと任意のextrasを管理し、必要に応じてインストールできます。
- 03PyPI、Gitリポジトリ、ローカルパスからの依存関係に対応しています。
- 04PEP 517ビルドバックエンドとして、パッケージの作成と公開に利用できます。
ユースケース
- 標準的なプロジェクト構成でPythonライブラリやアプリケーションを新規に作成する。
- 開発環境とCI環境で依存関係のバージョンを再現可能な状態に保つ。
- 同じプロジェクト設定を使ってPythonパッケージをPyPIに公開する。
クイックスタート
- 1
README に記載されている公式インストールスクリプトを実行します
- 2
プロジェクトの依存関係を pyproject.toml に記述します
トピック
よくある質問
- poetry とは?
- 単一のpyproject.tomlファイルでプロジェクトの依存関係を宣言、ロック、インストールできるPythonのパッケージング・依存関係管理ツールです。 Poetryは、Python開発者がプロジェクトの依存関係を宣言、管理、インストールし、ほかのマシンでも同じ環境を再現できるようにします。setup.py、requirements.txt、setup.cfg、MANIFEST.in、Pipfileを組み合わせる従来の方法に代わり、プロジェクトのメタデータ、依存関係、スクリプト、ビルド設定を単一のpyproject.tomlファイルに記述できます。
- poetry は無料で使えますか?ライセンスは?
- poetry は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- poetry は今もメンテナンスされていますか?
- 活発にメンテナンス中。poetry の最終コミットは 2026年11月2日 です。
- poetry は何に使えますか?
- 標準的なプロジェクト構成でPythonライブラリやアプリケーションを新規に作成する。 開発環境とCI環境で依存関係のバージョンを再現可能な状態に保つ。 同じプロジェクト設定を使ってPythonパッケージをPyPIに公開する。
- poetry のインストール方法は?
- README に記載されている公式インストールスクリプトを実行します プロジェクトの依存関係を pyproject.toml に記述します
- poetry はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/python-poetry/poetry
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Rust製の超高速なPythonパッケージ/プロジェクト管理ツール。pip、virtualenv、pyenv、pipxなどを置き換えます。
最小限の設定で、純粋なPythonパッケージやモジュールをビルドしてPyPIに公開できるシンプルなツール。
Packagistからプロジェクトのパッケージを宣言・インストール・更新するPHP向け依存関係管理ツール。
Goの依存関係をキャッシュするための、Go modulesダウンロードプロトコルに対応したオープンソースのセルフホスト型プロキシ兼データストアです。
共有のコンテンツアドレス可能ストアを使ってパッケージをリンクする、高速でディスク効率に優れたNode.jsパッケージマネージャー。厳格な依存関係の分離とmonorepoに対応。