I’m ready to submit this PEP, but want to give it a brief pause for final feedback and refinement. More on that below.
Summary of final changes
- The project table changes are added to the spec, so that
[project.dependencies]
and[project.optional-dependencies]
allow the use of includes- Primarily, this means that a build backend with “PEP 735 Support” supports this usage.
- Backwards compatibility is fleshed out: audit tools, dependency udpaters, and repackaging are discussed as impacted use-cases, with recommendations for how to handle this
- The spec has not changed, but it now acknowledges these concerns.
- How to Teach This grew as well; repackaging is covered again here, as well as some specific notes about the implications of there being no spec mandates about installation UX.
- [build_system.requires] is covered in rejected ideas
- a use case is added covering code analysis as an
--only-deps
-like use case.
Retrospective, Thanks, & Next Steps
We’re closing in on the end of this epic, and I see it showing up in other discussions (e.g. lockfiles) as an expected coming spec. After an initial flurry of activity, it has settled into a relatively tightly scoped addition to the ecosystem. Some people will wish that it did more and some will wish that it did less, which is in the nature of compromise.
I hope that it will be accepted in its current form, and think that it is just about the best version of this idea which I could hope to produce. But, of course, I did not produce it on my own, and I’m tremendously indebted to the community for giving thoughtful feedback, correcting me when I was in error and allowing me to drive the work in a particular direction.
The main thing left to do is to submit the PEP. I want to do that today, but after such a long break without activity, and then some final changes, submitting it too quickly does not strike me as respectful of everyone’s effort to get the document to its current stage. I will wait at least two weeks – a little patience is the least I can offer to thank you all for being patient with me – and in that time I can pursue some other efforts related to Dependency Groups, like a small pypi package implementation, and share them here as I make progress.