Repackagers and other downstreams (the main case we’re discussing here) aren’t going to want to (and often, their policies would not allow) creating a separate virtual environment and using pip to install packages from the internet into it, just so they can introspect it to determine what gets installed and figure out how to replicate it in their own environment. Of course, they can build the package at least to a sdist and then extract the extra’s dependencies from the core metadata in the PKG-INFO
, but that’s option 2.
Previously, yes, the only reliable standardized way to get an extras deps is to actually build the package and inspect it. But thanks in part to your work implementing PEP 621 support for Setuptools, tools now have a second way, which is reading it from project.optional-dependencies
in pyproject.toml
, which is much easier and cheaper to do, as they can be read statically from a file rather than having to build the whole project, unpack it and then parse them out of the appropriate RFC 822 headers.
Sure, fair, but I believe @brettcannon 's point was that it is now much more accessible and practical for downstream consumers, thanks in no small part to your hard work.