[Catalog-sig] Proposal: close the PyPI file-replacement loophole

Richard Jones r1chardj0n3s at gmail.com
Mon Jan 30 00:47:37 CET 2012

Hi catalog-sig,

When we initially implemented file upload to PyPI it was our intention
that the file be immutable once uploaded. The goal was to make things
significantly simpler for end users - there would only ever be one
file with a given name. If the content changed then so must the name
(typically by creating a new release version.)

After the upload facility was put in place we also added the ability
to delete files uploaded to pypi. This created a loophole: if a
package owner knew how to they could delete the file and re-upload,
thus circumventing the replacement protection.

I'm considering closing this loophole by retaining a record of the
uploaded file (though not the contents) so that future uploads with
the same name wouldn't be allowed. I understand that this is how the
ruby gem archive handles deletion of files.

Your thoughts?


More information about the Catalog-SIG mailing list