[Distutils] Python people want CPAN and how the latter came about

David Robins python at davidrobins.net
Thu Dec 24 11:46:59 CET 2009

On Thu, Dec 24, 2009 at 02:59:28AM -0000, exarkun at twistedmatrix.com wrote:
> There have been a few responses to Glyph's mention that "setup.py 
> upload" doesn't work for Twisted.  I'm much more curious to hear replies 
> to his other point - "nobody cares anyway".
> What's with the interest in having packages hosted on PyPI?
> I'm not specifically opposed to this, but I don't see any reason it 
> would benefit anyone either.  It'd be awesome if someone could explain 
> this.  Perhaps if the answer were included somewhere on PyPI or in the 
> distutils documentation, more people would see the light and upload 
> their packages.
> Jean-Paul

Some reasons to have PyPI host packages have already been mentioned in
this thread: it makes mirroring easier, and it makes it easier for
individuals to build new services (web sites primarily) that present new
interfaces to the Python package collection.  Mirroring for its own sake
is some use, but being able to grab the entire Python package repository
easily from a single source is valuable for the second goal, that of
furnishing the foundation ("shoulders of giants" and all that) for those
with vision (and round tuits) to take the next step.

If I wanted to host a site that (e.g.) indexed Python modules from PyPI
by module (not package) name, and extracted and provided the
documentation in HTML format, from what I've been reading I'd have to
build a scraper or XMLRPC tool to walk PyPI, and then for each package,
download it from another site (that may not have the uptime or
scalability of PyPI), a nontrivial burden on aspiring visionaries that
just want to build an addition and then go have a beer and discuss
further improvements.  For CPAN, as others have said already, a
recursive FTP or rsync would do the job leaving people free to spend
their time innovating.

(As a point of practical interest, what _would_ be the most efficient
way to download the entire set of Python modules listed on PyPI? A
search comes up with z3c.pypimirror,
http://pypi.python.org/pypi/z3c.pypimirror; is this the standard tool?)

It's about affordability, in the sense Donald Norman uses it in "The
Design of Everyday Things." Does PyPI afford extension? Should it?
Having "one way to do it" is Pythonic; so is having several people rush
off and build new things sufficiently chaotic as to be unpythonic?
Arguably no, because they would be prototypes - brainstorming - and the
community can synthesize the best of each (hey, if "TMTOWTDI" Perl folk
can do it...) and reintegrate them as necessary and proper.

More information about the Distutils-SIG mailing list