Python workflow CLI for locking dependencies, syncing environments, running project scripts, and managing Python interpreters.
$curl -sSL https://pdm-project.org/install.sh | bash
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis
PDM is a Python packaging workflow CLI that manages pyproject.toml, resolves and locks dependencies, syncs project environments, and can build or publish distributions. It also handles interpreter selection, managed Python installs, and project task running from the same command surface.
What It Enables
- Create or migrate Python projects, declare dependencies in
pyproject.toml, lock them, and sync the environment to the lockfile. - Select or install Python interpreters, create per-project environments, and inspect the active interpreter or package state.
- Run project scripts, export lock data to
requirements.txtorpylock.toml, and build or publish packages without switching tools.
Agent Fit
- Several inspect surfaces are machine-readable, including
pdm info --json,pdm list --json,pdm outdated --json, andpdm run --jsonfor task metadata. - Core workflows are non-interactive once a project is configured, which makes
lock,sync,export,run, andpublishworkable in CI or agent loops. - Some setup paths still prompt by default, especially
pdm newand interpreter selection inpdm use, so unattended runs need explicit flags or preconfigured project state.
Caveats
- It is tightly coupled to Python packaging conventions and project files, so its value is strongest inside Python repos rather than as a general system package manager.
- Commands that install interpreters, resolve dependencies, or publish packages depend on network access and can mutate local environments or package indexes.