As it is written now, this PEP feels quite weird to read. The scope defined at the beginning does not seem to match what is actually proposed in the rest of the document. I find there are a lot of gaps. It seems to start as being a drop-in replacement for PEP 722, but then it goes all over the place by addressing some random bits of the issues with embedding a whole pyproject.toml
in a Python file.
Why is PEP 621 mentioned? Instead it should mention and link the actual specification only: Declaring project metadata
The section Should scripts be able to specify a package index? seems completely unnecessary. As far as I know [project]
does not allow indexes. If it is about forbiding indexes in other tables than [project]
it should make it clear in the specification.
In “Recommendations”, seemingly out of nowhere, comes a bit about name
, version
and requires-python
without much context. It should at the very least mention that it is about fields in the [project]
table. Why is this recommendation here anyway? This seems quite out of the scope initially defined for this PEP, in particular this bit:
name
:script-<sha256 of script's path>
e.g.script-3a5c6b...
to provide interoperability with other tools that use the name to derive file system storage paths for things like virtual environments
Shouldn’t it be a separate PEP? Probably once these discussions have reached a conclusion:
- Projects that aren’t meant to generate a wheel and
pyproject.toml
- Setting up some guidelines around discovering/finding/naming virtual environments
- and I think another one that I can not find right now