I want to point out a couple quick things here:
- It’s not the case that “
pyproject.tomlexists” implies “is a package/is meant to build a package/is packageable”. Informally, that stopped being the case about five minutes after the basic format of the file was standardized, because people started shoving completely-non-packaging-related config into it. Formally, it stopped being the case more recently when even the Python packaging community finally threw in the towel and started working out what it officially means to have apyproject.tomlin a source tree from which packages will never be built. So if the resistance is due to an assumption thatpyproject.tomlnecessarily implies intent to build a package, that assumption is wrong. - Depending on what sorts of command-line entry points are desired,
pyproject.tomlmay well be the correct place to define them. At the very least, how to define entry points generically inpyproject.tomlis now well-specified, and does not depend on any third-party build backend or other tool to provide the support.
I still think given the sheer volume of popular Python tools which are standardizing on “config goes in pyproject.toml” it’s a bit weird that Django doesn’t add one to newly-created projects.