I’ve returned to this PEP for the first time in 2? 3? years after dozens of conversations at PyCon US 2025 that somehow invoked features PEP 694 would provide.
Seems the recollection I shared each time was indeed accurate, which is that I would very much like to see us offload the multi-part upload work to an S3 compatible multi-part upload interface rather than implement it as part of warehouse.
I know this alternative is mentioned in the PEP, and that the majority of the content in the PEP is about the implementation of uploads… In the interest of motivating the PEP to move as quickly as possible here’s what I’d like to propose:
PEP 694 is reduced in scope to remove the [File Upload](PEP 694 – Upload 2.0 API for Python Package Indexes | peps.python.org section), and a new key is added to the “Create an Upload Session” section for upload-mechanism
, and a contract for how to say “sorry dawg we don’t support that mechanism”.
Further responses can then include any necessary URLs, keys, etc that the user may need to execute that mechanism.
The PEP could? SHOULD? specify a simple
mechanism that is equivalent to our current “one-shot” synchronous upload.