[Distutils] Time for a static cheeseshop mirror for easy_install?
Phillip J. Eby
pje at telecommunity.com
Sat Apr 7 18:44:56 CEST 2007
For what easy_install does, there really isn't any dynamic API usage, so a
static mirror for easy_install could take a good bit of load off the
cheeseshop.
I don't know whether this will actually solve any problems the cheeseshop
itself is having; it may be that ill-behaved web spiders are at fault, or
something else altogether. However, since the downtime mostly creates
issues for people using easy_install, creating a solution for those people
certainly seems worthwhile.
Since easy_install was designed to be able to use simple directory indexes
and HTML pages as a package index, it should be possible to create a simple
directory tree of HTML pages, using PyPI's public XML-RPC API. The mirror
could use PyPI's RSS feed to know when a package's information is out of
date, although I'm not sure that the RSS includes all modifications, such
as when packages are deleted, releases are hidden, files uploaded, etc.
However, assuming that there's a scalable way to receive change
notifications, it should be straightforward to implement a mirror script
for easy_install, and have it run on one or more volunteered hosts, perhaps
with round-robin DNS (maybe easy-install.python.org?)
I'll be happy to assist anyone who wants to work on this, including updates
to easy_install itself, of course. I'd actually be hacking on this now, if
the cheeseshop weren't down (i.e., I can't download any XML-RPC data to do
prototyping at the moment!)
More information about the Distutils-SIG
mailing list