Skip to content
SPECIFICTION
Get listed

PDM

pdm-project.org

WindowsmacOSLinux
Visit pdm-project.org
Spec score 7.8 #44 of 93 in Package Managers

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

Alternatives to PDMAll alternatives →