Python needs a standard build backend
The tools available for building Python packages are many — way too many.
The so-called Python Packaging Authority (PyPA), which is not an actual authority, publishes the Python Packaging User Guide that contains a very detailed page with Tool recommendations.
The introduction to the Tool recommendations page makes it clear that there are "a landscape of different tools", and that PyPA "does not make a blanket recommendation".
However 🙄, in the sections following the introduction, the page specifies that there are standard tools (read: use these unless you have very special needs) for:
- Virtual environments (virtualenv and venv in the standard library)
- Installing packages (pip and pipx)
- Lock files (pip-tools and Pipenv)
- Building distributions (build)
- Uploading to PyPi (trusted publishing or twine)
The only item where there is not a standard or preferred tool for the job is Build backends. Here 5 (five!) different tools are presented as equally worthy of your attention. The last of these is Setuptools, where it is noted that it "used to be the only build backend" — for unspecified reasons Setuptools is now just another tool in the crowd of python packaging build backends.
It does not require an authority to figure out why Python packaging is a mess.