I’ve always seen extras
as a sort of mechanism for feature flags, which is why this kind of thing jars on me, and also probably why the idea of default extras and “recommended extras” keep coming up.
I don’t think it’s a huge deal that it’s exposed like that, but it’s just very strange to ship an implementation detail like, “These are the things to install when developing this module”. It’s not something you’d ever need or want to expose to your end-users.
Maybe it’s overkill to design a whole system around having a difference between “local extras” and “feature extras” or something, but I can imagine that it wouldn’t be terribly difficult to add a hook to PEP 517 backends for requesting extras (or something extra-like) not present in the generated METADATA
. I know that there is also some interest from a few corners in creating standardized test entry points á la PEP 517, so maybe that would be more fruitful than pursuing a distinction between local and feature extras.