Guys! Thanks a lot for all your responses and willingness to help! Yesterday I noticed this `requires_dist` in response for Requests package. But actually it was the only one that had this field populated from many packages that I asked API for. So this cannot be reliable way of getting dependecies. So if not using pip, the only way to get dependencies is from built packages: .whl and .egg. So in .egg it'd be: *EGG_INFO/requires.txt* and in .whl : *<packageName-version>.dist-info/metadata.json*, right? Thanks a lot! Best, Krzysztof 2017-07-21 3:56 GMT+02:00 Jeremy Stanley <fungi@yuggoth.org>:
On 2017-07-20 21:09:28 -0400 (-0400), John Thorvald Wodder II wrote:
[Sending to the list this time]
On 2017 Jul 20, at 12:41, Jeremy Stanley <fungi@yuggoth.org> wrote:
So while it might be possible to add some sort of feature to inspect wheels at upload and then store the specific dependencies declared therein and report those back via an API method, I expect coverage across packages in general would be fairly low today.
PyPI (both Legacy and Warehouse) actually does do this already; see the `requires_dist` field in, e.g., <https://pypi.org/pypi/qypi/json>. However, this only seems to work if the maintainer uploads the wheel before uploading the sdist (unless the sdist is a .zip instead of a .tar.gz, then it can be uploaded first? I'm not sure).
Indeed, I'd never noticed that. And the projects I work on upload wheels before sdists so seem to have everything from our install_requires reflected there (including extras and environment markers... even the versioned pages work). Very neat, and glad to learn it already exists.
I wonder though how it deals with projects that build multiple wheels for different platforms with different install_requires. It looks like that's a top-level field in the info dict so can't reasonably be differentiated. Takes the first one uploaded I guess and ignores the subsequent ones?
Anyway, this looks like it probably fulfils Krzysiek's need for XWiki. Thanks for pointing it out! I very well may try to leverage this for a few things myself. -- Jeremy Stanley _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig