macOS
brew install pdmlocal Homebrew formula metadata
brew / rank 1522
Modern Python package and dependency manager supporting the latest PEP standards. Version 2.29.5 via Homebrew; verified 2026-10-31. Also installable with debian: sudo apt install python3-pdm.
install
brew install pdmlocal Homebrew formula metadata
nix profile install nixpkgs#pdmnixpkgs package indexes · pkgs/by-name/pd/pdm/package.nix · source: api.github.com
sudo apt install python3-pdmDebian stable package indexes · python3-pdm · source: deb.debian.org
overview
Modern Python package and dependency manager supporting the latest PEP standards
history
PDM is a Python package and project manager that manages dependencies, lockfiles, environments, scripts, builds, and publishing through modern Python packaging standards.
PDM was created around support for PEP 582's project-local `__pypackages__` layout. The project expanded beyond that origin into a full Python project and dependency manager supporting current packaging standards.
The 0.12 release line in late 2020 improved `pdm run`, exporting, Windows PEP 582 integration, and lockfile metadata. Version 1.0 followed in January 2021. Later development made virtual environments the default, broadened dependency groups, publishing, workspaces, interpreter management, and lock strategies, and introduced experimental use of uv as a resolver and installer.
PDM gained adoption as Python packaging moved toward `pyproject.toml`, standardized build interfaces, declarative metadata, and lockfile-based workflows. The supplied mappings record packages in Homebrew, Debian, and Nix.
Its continued support for both virtual environments and the PEP 582 `__pypackages__` layout helped distinguish it early on. After PEP 582 was rejected, PDM retained that mode as an opt-in feature while making conventional virtual environments the recommended default.
A typical workflow begins with `pdm new` or `pdm init`, adds dependencies with `pdm add`, records exact resolutions in `pdm.lock`, installs or synchronizes an environment with `pdm install` or `pdm sync`, and runs project commands with `pdm run`.
Library maintainers can build and upload distributions with PDM's build and publish commands. Teams generally commit `pdm.lock` when they want development and CI to reproduce the same resolution.
PDM is significant in Python package-manager culture because it combined standards-oriented project metadata, dependency resolution, locking, environment management, script execution, building, and publishing in one CLI.
Its history captures a transitional period in Python packaging: enthusiasm for PEP 582, consolidation around `pyproject.toml`, greater use of reproducible lockfiles, and later cooperation with high-performance tooling such as uv.
security posture
infrastructure mutation or orchestration signal.
orange risk · medium confidence · infrastructure
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
<PROJECT_ROOT>/pdm.toml$XDG_CONFIG_HOME/pdm/config.toml~/.config/pdm/config.toml$XDG_CONFIG_DIRS/pdm/config.toml/etc/xdg/pdm/config.toml$XDG_CONFIG_HOME/pdm/global-project/pdm.toml<PROJECT_ROOT>/pdm.toml~/Library/Application Support/pdm/config.toml/Library/Application Support/pdm/config.toml~/Library/Application Support/pdm/global-project/pdm.toml<PROJECT_ROOT>\pdm.toml%USERPROFILE%\AppData\Local\pdm\pdm\config.toml%ProgramData%\pdm\pdm\config.toml%USERPROFILE%\AppData\Local\pdm\pdm\global-project\pdm.tomlCredential-bearing paths to review before unattended agent runs.
$XDG_CONFIG_HOME/pdm/config.toml~/.config/pdm/config.toml~/Library/Application Support/pdm/config.toml%USERPROFILE%\AppData\Local\pdm\pdm\config.tomlexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
pdm | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:pdm |
|---|---|
| Version | 2.29.5 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/pdm |
| Homepage | https://pdm-project.org |
| Repository | https://github.com/pdm-project/pdm |
| Upstream docs | https://pdm-project.org |
| License | MIT |
| Source archive | https://files.pythonhosted.org/packages/81/a0/ebcb4bf939e3c1bba9fcb698ec8237868bdb9402461682baced71325e020/pdm-2.29.5.tar.gz |
| Last updated | 2026-10-31T06:04:35Z |
| Pulse | updated |
| Dependencies | certifi, python@3.15 |
| Bottle | available (on arm64_golden_gate, arm64_linux, arm64_sequoia, arm64_tahoe, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | pdm |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
python3-pdm 2.20.1+ds1-2
next generation Python package management tool
https://github.com/pdm-project/pdm
sudo apt install python3-pdmpdm
nix profile install nixpkgs#pdmsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.