What is `pyproject.toml`?
Steph Samson (~stephsamson) |
The Python ecosystem has been plagued (or gifted, depending on your perspective) with a host of configuration files – from
MANIFEST.in. Not to mention each package’s own
.yml configuration file. So why do we need another configuration file?
To answer this question, we need to start with the history of Python packaging. From there we’ll move on to the current state of Python packaging with the existing incumbent builtin build tools,
setuptools. Knowing the build processes of these packaging utilities will help us understand the motivation for PEP-517 and PEP-518 and the inception of
We will then explore popular packages that use the
pyproject.toml, some of which include
Steph is a software engineer with a formal education in computational linguistics. She is also a core contributor to Poetry, a volunteer mentor for Frauenloop, an international conference speaker, and a competitive climber.