--- id: pdm version: "2.28.1" license: unclear license_treatment: unclear maintenance: active --- # pdm — A modern Python package and dependency manager supporting the latest PEP standards License: unclear · Maintenance: active · Downloads: 12.7M/mo ## What it is and what it does PDM is a next-generation Python package manager designed to work with modern Python standards, particularly PEP 621 (project metadata) and PEP 517 (build backends). It combines environment management (similar to Pipenv), dependency locking, and packaging capabilities in a single tool, reading configuration from a standardized pyproject.toml file and maintaining a lockfile for reproducible installs. Unlike Poetry or Hatch, PDM does not lock you into a specific build backend—you can choose any backend you prefer. It includes a fast dependency resolver optimized for large binary distributions, a plugin system for extending functionality, and optional features like centralized installation caching (similar to pnpm) and Python version management via astral-sh's python-build-standalone. Use it for: - Manage dependencies and virtual environments for a Python library or application using a single pyproject.toml file - Build and package Python projects with flexibility to choose your own PEP 517 build backend - Lock dependencies for reproducible installs across team members or CI/CD pipelines - Develop projects that need both environment isolation and centralized package caching to save disk space - Extend PDM with custom plugins to integrate project-specific workflows or tooling ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PDM is a modern Python package and dependency manager that handles project metadata, dependency resolution, virtual environment management, and PEP 517 build backend support using standardized pyproject.toml files. Yes, if you want a modern, standards-compliant package manager with flexibility in build backends and active maintenance. The low install friction, recent activity (release 3 days ago), and lack of known vulnerabilities make it a solid choice. Clarify the license terms first if you operate under strict licensing constraints, and verify that the 24 runtime dependencies align with your environment requirements. ## Install pip install pdm uv add pdm poetry add pdm ## Installing pdm Before you install: Installation friction is low; the package is distributed as a wheel and maintained actively with a release within the last few days. It requires Python 3.10 or higher and pulls in 24 runtime dependencies including virtualenv, httpx, and resolvelib for core functionality. License in practice: License treatment is unclear—no SPDX identifier or raw license string is recorded in the metadata, though the description excerpt mentions MIT licensing. Verify the actual license terms before adopting in restricted environments. Quickstart: # Install PDM (via pip or standalone binary) pip install pdm # Create a new project pdm new my-project # Add dependencies pdm add requests flask Requires Python 3.10 or higher; the standalone binary is also available as an alternative to pip installation. Verify before relying: - Exact license identifier and terms (description says MIT but metadata shows unclear treatment) - Whether the 24 runtime dependencies are all required or some are optional/conditional - Performance characteristics of the dependency resolver on large projects ## Package facts - License: not declared (unclear) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 12.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags python package manager, dependency resolver, pyproject.toml manager, python environment manager, pep 517 build backend, lockfile dependency management, python project manager, dependency-management, pep-standards, build-backend [View on SkillFed](https://skillfed.io/packages/pdm) · [View on PyPI](https://pypi.org/project/pdm/)