Description
$ curl -s https://pypi.org/pypi/pygit2/json | jq '.info.requires_dist'
null
The info.requires_dist
field in the PyPI JSON API is null
, leading Poetry, which depends on the JSON API, to resolve wrong dependencies [*]. Supposedly this field should have been properly populated by recent versions of twine, but I haven't been able to pinpoint the source of this nuisance. Apparently the upload order seems to affect the contents of the field. My guess is that the sdist
is to blame, because it seems to be always uploaded first according to PyPI timestamps.
[*] Specifically, when the field is null
, Poetry downloads the first available wheel (instead of the most suitable one) in order to extract the relevant metadata. This happens to be a non-3.7 Python wheel, thus missing the cached-property
dependency, causing, in turn, import pygit2
to fail. This behavior is a known issue in Poetry.