Backwards Incompatible Change to PyPI JSON API

I can’t see how you would get a list of all releases of a project from the PEP 691 API (just the version numbers themselves, not the actual file data which can be found from the urls key of /pypi/<project>/<version>/json). Before the releases key is removed, can this information be added somewhere? Otherwise there’s no way to get from a project name to the /pypi/<project>/<version>/json pages.

If it helps, I’d be happy to write a PEP that updated PEP 691 to say:

  1. The projects element of the root URL should return {"name": "Frob", "versions": ["0.1", "0.2"]}, i.e. adding a “versions” key.
  2. The elements of the files item in the project details value should add a new key, upload_time containing an ISO 8601 date string.

which are the two items we’ve now identified as not available except in the JSON API (if we ignore the project metadata).

Edit: Correction. The versions should be added to the project details page. I don’t know what I was thinking before (it was late at night!) - adding it to the root page is a significant and unnecessary overhead.

2 Likes