You might be wondering, why use this package at all? Isn't setup.py
or
setup.cfg
good enough? And honestly... yes, it is. For now.
To briefly summarize a very long story, setuptools (the code that handles
setup.py
and setup.cfg
is a very large, complex, and old piece of
software, and while it's very useful in many cases, there are other cases where
people don't want to use it. So the Python community has agreed on a set of
standards to allow other projects to do what setuptools does, namely building
a Python package into something that you can upload to PyPI. One of those
standards, the one that matters for us, is PEP 621, which defines how core
project metadata (some of the information that people would normally put in
setup.cfg
or as keyword arguments to setup()
) should be stored in a new
standard file called pyproject.toml
. And now that that standard exists,
setuptools is strongly encouraging people to use it.
This project was born in a conversation on Mastodon when we realized that as
far as we know, there's no existing tool to generically convert setuptools
configuration data to pyproject.toml
. There are some tools that work on
setup.cfg
:
but that doesn't help all the projects which pass keyword arguments to
the setup()
call in setup.py
. This project is our attempt to make
the process of migrating from the "old way" setup.py
to the "new way"
pyproject.toml
as convenient as possible.