[Catalog-sig] Proposal for the bootstrap API
Tarek Ziadé
tarek at ziade.org
Fri Feb 15 10:28:30 CET 2013
Following up all the remarks, in Distutils-SIG and here, here's a new
proposal
- add a new POST API that differs from file_upload, called /bootstrap_upload
This new API will slightly differ from file_upload for these:
- it won't auto-register the release in case it does not exists
- the filename will be a fixed name : <PROJECT>-bootstrap-[version].py -
with the symlinking story Richard explained
- PyPI will reject files not matching this name (but I wonder if we
shouldn't allow other extensions like .sh)
Files will be stored under :
https://pypi.python.org/packages/bootstrap/<P>/<PACKAGE>/<PROJECT>-bootstrap-[version].py
example:
https://pypi.python.org/packages/bootstrap/d/distribute/distribute-bootstrap.py
As for the whilelist thing, I wonder if it necessary: a fake project
like "DjangoInstaller" is already
able to do all kind of damages with its setup when people are trying to
install it.
I mean :
$ pip install DjangoInstaller
Looks completely legit to me, unfortunately... So until we catch that
fish, damage can already be done.
Now for people clicking on a link, that can happen on *any* url. I mean,
I can try a fishing attack with a link
on my domain.
Or I can tell people to "easy_install SOME_URL_ON_PYPI", pointing to a
tarball...
If we want to have a more robust system here, we'd need to deeply
rethink how PyPI works wrt identity of
packages uploaders.
Cheers
Tarek
--
Tarek Ziadé · http://ziade.org · @tarek_ziade
More information about the Catalog-SIG
mailing list