PEP 658 is now live on PyPI

As of ~15 minutes ago, wheels uploaded to PyPI will have their METADATA files served along side them on files.pythonhosted.org, and the appropriate information served in the Simple API to determine if the file as available.

Since pip already has support, we anticipate we’ll hear any feedback rather quickly :slight_smile:.

Otherwise, if things go smoothly the PyPI administrators will assess what backfilling looks like.

30 Likes

Awesome news, thanks to everyone who worked to get this in place!

1 Like

Such good news!

This is a nice enhancement.

sdists similarly have a PKG-INFO file, I wonder if there are any plans for those?

PEP 658 was mainly motivated by allowing a package installer to look at multiple versions of a project more efficiently for the dependency resolution process, but sdist metadata are in generaly not useful on their own for this purpose and thus left out of the proposal. But the current specification leaves enough room for anyone to submit a proposal for sdists to use the same interface.

1 Like

ISTM that with Core Metadata 2.2 (PEP 643/Dynamic field for sdists), sdist metadata might in fact might be potentially quite useful for a lot of cases—but that’s also blocked on PyPI support, though I hear there is also a desire to get that unblocked at some point soon-ish in the future.

Is there any good news to share about bandwidth savings or any major issues so far?

I don’t suppose any further news on whether there will be some backfill operations happening?

Would be cool to backfill some of the notorious fat wheels, like pytorch, tensorflow and the like. But maybe these are not the main contributors to PyPI bandwidth?

We’re tracking some issues with the interaction between a bug in PyPI’s implementation and pip’s handling of 658 enabled JSON indexes.

No backfill will occur until those are sorted in a coordinated way.

5 Likes