PEP 735: Dependency Groups in pyproject.toml

Build backends are not the only consumers of the project table. There’s Dependabot, IDEs, dependency management tools (eg pip-tools (though I think this one invokes the backend?)), and others. Are you happy to have those tools fail when users start using the new syntax [1]?

I think it makes more sense to me to have groups include the (existing) runtime dependency specifiers. This is because I attribute the dependency groups as the requirements for tasks or scenarios, when I have a copy of the source (as opposed to runtime deps, which are specified in the wheel and installed metadata).

I most like the elegance of using path = "." (from an earlier version of this PEP, I think), and I think that could be re-introduced in the next PEP (perhaps even without editable support).


  1. especially as there’s no intention to version project.toml ↩︎

2 Likes