小さなテストの作成から、アプリやライブラリの複雑な機能テストまで対応するPythonテストフレームワーク。
- スター
- 8,662
- フォーク
- 501
- 未解決の Issue
- 48
- 最終コミット
- 昨日
これは何?
PDMは、標準のpyproject.tomlファイルからプロジェクトのメタデータを読み取り、依存関係のバージョンを正確に固定するロックファイルを書き出すPythonパッケージ・依存関係管理ツールです。Pipenvと同様に、プロジェクト内または共通の場所に仮想環境を作成・管理できます。また、Poetryと同様に、wheelやソース配布物をビルドしてPyPIにアップロードすることもできます。
PDMにはPEP 517ビルドバックエンドが含まれていますが、特定のビルドバックエンドに縛られないため、プロジェクトごとに任意のバックエンドを利用できます。プラグインシステムで機能を拡張でき、ユーザー定義スクリプトにも対応しています。また、python-build-standaloneを使ったPythonインタープリターのインストールや、オプトイン方式の共通インストールキャッシュも利用できます。
PDMでは、PEP 582(venvの代わりにローカルの__pypackages__フォルダへパッケージをインストールする機能)と、インストーラーとしてuvを使う機能を実験的に利用できます。
主な機能
- 01pdm.lockによるロックファイルに対応した依存関係の解決
- 02プロジェクト内または共通の場所での仮想環境管理
- 03PEP 517ビルドバックエンドとPEP 621プロジェクトメタデータへの対応
- 04プラグインシステムとカスタマイズ可能なユーザースクリプト
- 05python-build-standaloneを使ったPythonインタープリターのインストール
- 06オプトイン方式の共通インストールキャッシュ
ユースケース
- Pythonアプリケーションの依存関係と仮想環境の管理
- 標準のpyproject.tomlメタデータを使ったPythonライブラリのビルドとPyPIへの公開
- PipenvまたはPoetryからPEP 621ベースのワークフローへの移行
クイックスタート
- 1
インストーラースクリプトでPDMをインストールする(Linux/Mac)
README の公式手順に従ってインストール - 2
新しいPDMプロジェクトを作成する
pdm new my-project - 3
プロジェクトに依存関係を追加する
pdm add requests flask
使う前に知っておきたいこと
- Python 3.10以上が必要です。
- PEP 582とuvの統合は実験的機能として扱われています。
- uvはPEP 582では動作しません。
トピック
よくある質問
- pdm とは?
- PEP 621とPEP 517のメタデータに基づいて、仮想環境、ロックファイル、ビルドを管理する最新のPythonパッケージ・依存関係管理ツール。 PDMは、標準のpyproject.tomlファイルからプロジェクトのメタデータを読み取り、依存関係のバージョンを正確に固定するロックファイルを書き出すPythonパッケージ・依存関係管理ツールです。Pipenvと同様に、プロジェクト内または共通の場所に仮想環境を作成・管理できます。また、Poetryと同様に、wheelやソース配布物をビルドしてPyPIにアップロードすることもできます。
- pdm は無料で使えますか?ライセンスは?
- pdm は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- pdm は今もメンテナンスされていますか?
- 活発にメンテナンス中。pdm の最終コミットは 2026年10月19日 です。
- pdm は何に使えますか?
- Pythonアプリケーションの依存関係と仮想環境の管理 標準のpyproject.tomlメタデータを使ったPythonライブラリのビルドとPyPIへの公開 PipenvまたはPoetryからPEP 621ベースのワークフローへの移行
- pdm のインストール方法は?
- インストーラースクリプトでPDMをインストールする(Linux/Mac) 新しいPDMプロジェクトを作成する: pdm new my-project プロジェクトに依存関係を追加する: pdm add requests flask
- pdm はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pdm-project/pdm
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
PythonとDjangoで構築された、在庫管理、部品追跡、REST API、プラグインシステムを備えるオープンソースの在庫管理システム。
Django製のセルフホスト可能なオープンソースのワークアウト・栄養・体重管理アプリ。REST APIとモバイルアプリも提供。
kubectlをモデルにしたAPIを備え、同期・非同期(asyncio/trio)の両方に対応するKubernetes向けPythonクライアントライブラリ。
トピックやキーワードから、台本・ナレーション・映像素材・字幕・音楽を自動生成して短い動画を作成します。
Apache Answerは、コミュニティフォーラムやヘルプセンター、ナレッジ管理サイトを構築できるオープンソースのQ&Aプラットフォームです。