skillfed

pdm-backend

The build backend used by PDM that supports latest packaging standards

pdm-backend v2.4.9 6.8M downloads/30d#1,834 on PyPI89
Permissive license MIT Active released

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

A PEP 517-compliant build backend that reads PEP 621 project metadata and converts it to standard Python package metadata, usable standalone or as PDM's default builder.

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

pip

pip install pdm-backend

uv

uv add pdm-backend

poetry

poetry add pdm-backend

Installing pdm-backend

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.

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

Requires Python 3.9 or later; intended for use during package build, not runtime.

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 — importlib-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)

Evidence: pdm_backend-2.4.9-py3-none-any.whl

Keywords: packaging, PEP 517, build

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

Tags

PEP 517 build backendPEP 621 metadata conversionPython package builderbuild backend for PDMpackaging standards compliance
build-backendpep-517packaging

More Build Tools packages