[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