pdm-backend
The build backend used by PDM that supports latest packaging standards
Decision gist · record as of 2026-08-14
Yes. This is a production-stable, actively maintained build backend with no security issues, minimal dependencies, and broad Python version support. Install it if your project uses PDM or if you want a lightweight PEP 517-compliant builder that reads PEP 621 metadata. The low install friction and permissive license make it a straightforward choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; intended for use during package build, not runtime.
- Low install friction with a single runtime dependency (importlib-metadata).
- Active maintenance with a recent release 70 days ago and ongoing repository activity.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; suitable for most projects.
last release 2026-06-05 (70 days) · last repo commit 2026-08-03 · 89 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 6,849,532 downloads/mo, #1,834 on PyPI
Alternatives
Verify before relying
pip install pdm-backend
# In pyproject.toml:
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
# Then build with:
python -m build- Whether the package works as a standalone build backend outside PDM projects without additional configuration.
- Performance characteristics or build-time overhead compared to other PEP 517 backends.
What it is and what it does
pdm-backend is a build backend that implements the PEP 517 specification for building Python packages. It reads project metadata in the PEP 621 format (typically from pyproject.toml) and converts it to the standard Python package metadata format. While designed as PDM's default builder, it can be used independently in any project that declares it in the build-system section of pyproject.toml.
The package has a minimal footprint, depending only on importlib-metadata at runtime. It supports current Python versions from 3.9 through 3.14, and is actively maintained with recent releases. The codebase is stable (marked Production/Stable) and carries no known security vulnerabilities, making it a reliable choice for projects adopting modern packaging standards.
Use it for
- Use it to build PDM projects that declare pdm-backend as their build backend in pyproject.toml.
- Use it as a standalone PEP 517 backend for non-PDM projects that want PEP 621 metadata support.
- Use it when migrating from older build systems (like setup.py) to standards-compliant declarative metadata.
- Use it in CI/CD pipelines to build and package Python projects with modern packaging standards.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
This is a production-stable, actively maintained build backend with no security issues, minimal dependencies, and broad Python version support. Install it if your project uses PDM or if you want a lightweight PEP 517-compliant builder that reads PEP 621 metadata. The low install friction and permissive license make it a straightforward choice.
Install
pdm-backend on PyPI
Before you install
Low install friction with a single runtime dependency (importlib-metadata). Active maintenance with a recent release 70 days ago and ongoing repository activity.
Requires Python 3.9 or later; intended for use during package build, not runtime.
License in practice
MIT license permits commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install pdm-backend
# In pyproject.toml:
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
# Then build with:
python -m build
Verify before relying
- Whether the package works as a standalone build backend outside PDM projects without additional configuration.
- Performance characteristics or build-time overhead compared to other PEP 517 backends.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageimportlib-metadata |
| Maintenance | Actively maintained 70 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,849,532 / month, #1,834 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Software Development :: Build Tools |
Evidence: pdm_backend-2.4.9-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “PEP 517 build backend”
- pdm-backendA PEP 517-compliant build backend that reads PEP 621 project metadata…
- pep517Provides subprocess-isolated wrappers around PEP 517 and PEP 660…
- wheywhey is a PEP 517 build backend that creates Python wheels from…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also pdm · pdm-pep517 · whey · pyproject-toml · pdm-build-locked · PyQt-builder · pyproject-metadata · poetry-core · meson-python · pep517