pkg.soopen package index

brew / rank 1522

Install pdm with Homebrew, Nix, apt

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

Additional install commands

macOS

Homebrewverified · 100%
brew install pdm

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#pdm

nixpkgs package indexes · pkgs/by-name/pd/pdm/package.nix · source: api.github.com

Debian aptverified · 92%
sudo apt install python3-pdm

Debian stable package indexes · python3-pdm · source: deb.debian.org

overview

Package summary

Modern Python package and dependency manager supporting the latest PEP standards

Commands and aliases

  • pdm

history

Project history and usage

PDM is a Python package and project manager that manages dependencies, lockfiles, environments, scripts, builds, and publishing through modern Python packaging standards.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2020: The 0.12 release line expanded scripts, exporting, PEP 582 integration, and lockfile handling.
  • 2021-01-05: PDM 1.0.0 was released.
  • 2023: Virtual environments were established as the recommended mode after PEP 582's rejection.
  • 2025: PDM documented experimental uv-backed resolution and installation.

Related projects

  • PEP 582 supplied PDM's original project-local package-layout idea, although the proposal was later rejected.
  • PDM can use uv experimentally as its resolver and installer.
  • Python packaging standards such as PEP 517, PEP 518, and PEP 621 underpin its build and project-metadata workflows.

security posture

Risk level: orange

infrastructure mutation or orchestration signal.

Risk classifier

orange risk · medium confidence · infrastructure

Why

  • infrastructure mutation or orchestration signal

Signals

  • text:dependency manager

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 5 platform targets.
  • Installs with 2 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

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.

Configuration files

Config paths the tool may read or write during local use.

Linux
<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
macOS
<PROJECT_ROOT>/pdm.toml~/Library/Application Support/pdm/config.toml/Library/Application Support/pdm/config.toml~/Library/Application Support/pdm/global-project/pdm.toml
Windows
<PROJECT_ROOT>\pdm.toml%USERPROFILE%\AppData\Local\pdm\pdm\config.toml%ProgramData%\pdm\pdm\config.toml%USERPROFILE%\AppData\Local\pdm\pdm\global-project\pdm.toml

Credential files

Credential-bearing paths to review before unattended agent runs.

Linux
$XDG_CONFIG_HOME/pdm/config.toml~/.config/pdm/config.toml
macOS
~/Library/Application Support/pdm/config.toml
Windows
%USERPROFILE%\AppData\Local\pdm\pdm\config.toml

executables

Installed executables

CommandKindExposureNote
pdmcliglobal executable

freshness

Version and 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.

page generated2026-11-04
manager version2.29.5
manager updated2026-10-31
local dataok
upstreamnot checked
latest detectednot detected

https://pdm-project.org

install metadata

Package metadata

Package keybrew:pdm
Version2.29.5
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/pdm
Homepagehttps://pdm-project.org
Repositoryhttps://github.com/pdm-project/pdm
Upstream docshttps://pdm-project.org
LicenseMIT
Source archivehttps://files.pythonhosted.org/packages/81/a0/ebcb4bf939e3c1bba9fcb698ec8237868bdb9402461682baced71325e020/pdm-2.29.5.tar.gz
Last updated2026-10-31T06:04:35Z
Pulseupdated
Dependenciescertifi, python@3.15
Bottleavailable (on arm64_golden_gate, arm64_linux, arm64_sequoia, arm64_tahoe, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namepdm
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

python3-pdm 2.20.1+ds1-2

next generation Python package management tool

https://github.com/pdm-project/pdm

sudo apt install python3-pdm
  • Section: python
  • Architecture: all
  • Source Package: pdm
  • 27 dependencies
  • normalized package name match
  • Matched by: Pdm
Debian stable package indexes · deb.debian.org · Debian stable package indexes: python3-pdm from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

pdm

nix profile install nixpkgs#pdm
  • normalized package name match
  • Matched by: Pdm
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/pd/pdm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment
  • pkg.so package database
  • pkgdb category and tag curation