What is PEP 517/518 compatability?

What is PEP 517/518 compatability?

PEP 517 and PEP 518 are two Python Enhancement Proposals that define a standard interface for Python packaging tools to build and install packages. PEP 517 defines the interface for building packages, and PEP 518 defines the interface for specifying build dependencies.

These PEPs moved Python packaging from a setup.py-centric model to a pyproject.toml-centric model.

PEP 517 defines a standard for creating Python packages that can be adopted by any packaging tool. PEP 518 “specifies how Python software packages should specify what build dependencies they have in order to execute their chosen build system”; PEP 518 introduced the now ubiquitous pyproject.toml file.

Tools supporting these PEPs include setuptools, flit, poetry, and pdm.

See What is PEP 621 compatability? to learn how pyproject.toml was extended to support package metadata.

Last updated on

Please submit corrections and feedback...