Skip to content

What is PEP 517/518 compatibility?

PEP 517 and PEP 518 define standard interfaces for Python packaging tools to build and install packages. Together, they moved Python packaging from a setup.py-centric model to a pyproject.toml-centric model.

What each PEP does

PEP 517 creates a standard build interface that any packaging tool can adopt. PEP 518 specifies how packages should declare their build dependencies and introduced the pyproject.toml file.

Tool support

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

Learn More

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

Last updated on

Please submit corrections and feedback...