What is PEP 517/518 compatibility?
by Tim Hopper
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