PDM
pdm-project.org
Spec sheet
- Purpose
- PDM is a Python package and dependency manager that supports current PEP standards.Read 3 Oct 2026 · pdm-project.org
- Product
- PDM is a Python package and dependency manager that supports current PEP standards.Read 2 Oct 2026 · pdm-project.org
- Free plan
- YesRead 21 Sep 2026 · pdm-project.org
- Build backend
- PDM can act as a PEP 517 build backend.Read 3 Oct 2026 · pdm-project.org
- Credential storage
- When keyring is available and supported, PDM stores and retrieves package index and upload repository passwords through keyring.Read 3 Oct 2026 · pdm-project.org
- Dependency locking
- PDM synchronizes dependencies using a locked resolution, normally stored in pdm.lock, which records package versions, artifact hashes, dependencies and markers.Read 2 Oct 2026 · pdm-project.org
- Dependency resolution
- PDM provides a dependency resolver described as simple and fast, particularly for large binary distributions.Read 2 Oct 2026 · pdm-project.org
- Environment options
- PDM can use a virtual environment or install project dependencies into a __pypackages__ directory.Read 2 Oct 2026 · pdm-project.org
- Experimental feature
- PEP 582 support is experimental and opt-in, alongside virtual environment management.Read 3 Oct 2026 · pdm-project.org
- Installation cache
- PDM offers an opt-in centralized installation cache.Read 3 Oct 2026 · pdm-project.org
- Installation methods
- The documentation lists installer scripts and installation through Homebrew, Scoop, uv, pipx, pip and asdf.Read 3 Oct 2026 · pdm-project.org
- Lock formats
- PDM supports its native pdm lock format and experimental PEP 751 pylock format.Read 2 Oct 2026 · pdm-project.org
- Lockfile support
- YesRead 21 Sep 2026 · pdm-project.org
- Metadata
- PDM supports project metadata in the PEP 621 format.Read 3 Oct 2026 · pdm-project.org
- Migration
- PDM's import command supports Pipenv, Poetry, Flit, requirements.txt and setuptools setup.py project inputs.Read 2 Oct 2026 · pdm-project.org
- Offline installation
- YesRead 21 Sep 2026 · pdm-project.org
- Package formats
- wheel,sdistRead 21 Sep 2026 · pdm-project.org
- Package sources
- PDM can use PyPI and configurable custom package indexes or repositories, with options to verify SSL certificates.Read 3 Oct 2026 · pdm-project.org
- Plugins
- PDM has a flexible plug-in system.Read 2 Oct 2026 · pdm-project.org
- Plugins and scripts
- PDM provides a plug-in system and user scripts.Read 3 Oct 2026 · pdm-project.org
- Private registry auth
- YesRead 21 Sep 2026 · pdm-project.org
- Project metadata
- PDM supports PEP 621 project metadata.Read 2 Oct 2026 · pdm-project.org
- Project setup
- PDM can create a new project or initialize an existing one with a pyproject.toml file.Read 2 Oct 2026 · pdm-project.org
- Publishing
- The pdm publish command builds a wheel and source distribution and uploads them to PyPI by default, and can target another repository.Read 3 Oct 2026 · pdm-project.org
- Python installation
- PDM can install Python interpreters using python-build-standalone.Read 3 Oct 2026 · pdm-project.org
- Resolver
- It provides a dependency resolver described as simple and fast, especially for large binary distributions.Read 3 Oct 2026 · pdm-project.org
- Runtime requirement
- The recommended installer documentation says PDM requires Python 3.10 or later; its Python-script installation section says Python 3.9 or later.Read 3 Oct 2026 · pdm-project.org
- Supported operating systems
- PDM works on Windows, Linux and macOS.Read 3 Oct 2026 · pdm-project.org
- Supported platforms
- Windows,Linux,macOS,Python 3.10+Read 21 Sep 2026 · pdm-project.org
- Workspace support
- YesRead 21 Sep 2026 · pdm-project.org
Where Specifiction places it
- Package Managers#44 of 937.8
- Python Package Managers#20 of 277.4