On Sun, Jul 24, 2022 at 10:06 AM Ofek Lev <ofekmeis...@gmail.com> wrote:
> Hello! This is about using only `pyproject.toml` for packaging > https://github.com/django/django/pull/15874 My initial reaction is "no", and that this request kind of rubs me the wrong way. In the pull request you say: > As a result, the execution of setup.py files is now heavily discouraged <https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html>. But the blog post you quote is just saying to run "python -m build" instead of "python setup.py", not to entirely remove setup.py, or that using setup.py as a configuration file is deprecated. In fact, the highlighted tl;dr at the top of the post says exactly the *opposite* of that! Setting that aside I also am, in general, strongly against Django being an early adopter of any new packaging tool. While it's certainly helpful for the tool, because our user base is large enough to uncover all sorts of edge cases, it's not great for our users, who then get to be beta testers against their will. I went through this myself with the code formatter `black`, which was an eager and early adopter of several things and as a result would break my CI pipelines every couple of months when one of those early-adopted things had unintended side effects. Doing that to Django's user base would be bad for our users, bad for Django ("why does Django keep breaking?"), and bad for Python ("look, if even these high-profile packages break all the time, Python packaging must really be as terrible as everyone claims it is!"). So for now, the non-setup.py packaging ecosystem is still rapidly developing and still has rough edges. Maybe in a few years when the situation is improved, Django can adopt new and solid standard methods of doing things. But for now, the solid standard still very much is setup.py and the setuptools build backend. About all I could support at the moment is switching the Makefile that release managers run to use `python -m build`: https://github.com/django/django/blob/main/extras/Makefile > <https://github.com/django/django/pull/15874> -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAL13Cg8fFadp5edN0R%2Bq4erH_v6HBu06iFUAx0GmNysfD4565w%40mail.gmail.com.