PEP 301 describes a system for recording and serving metadata for Python distutils packages, and while I won't go as far as Garth Kidd as to say, "At last, CPAN for Python,"
it certainly seems to be on its way.
Roundup (which it certainly seems to me the PyPI interface is built on) is available as such a package. Roundup had to be installed as a , so I wonder if it actually works through distutils. I guess it does or they wouldn't've listed it, but I haven't so much as looked at distutils, so I wouldn't know.
Even just poking at the "experimental" PyPI interface, it's missing a way to browse the trove tree, which seems to be a pretty important thing. CPAN modules, after all, are named after their categorization. Python folks seem to have the same trouble using boring names as I do, with names like Roundup, medusa, moin, and SPYCE to pick a few from the PyPI interface. You wouldn't know from their names they're a bug tracker, a "framework for implementing asynchronous servers"
(whatever that means), a Wiki, and Python-embedded-in-HTML web scripting glue; in CPAN you'd expect things more like Web::Tracker, Server::Asynchronous, CGI::Wiki, and HTML::EmbedPerl. Or something.
Using categorization (and trove is as good as, if not better than, any) is important. Right now the opaque module names are a bit foreboding; if there weren't trove categories underneath that merely need exposing, I would fear it's going the way Giant Java Tree went (that is, nowhere).
It's still curious that no one seems to have been able to duplicate the success of CPAN in another language. I hope the Python community can make something at least as useful.
Comments
comment
Hi, author of PyPI here. I’ve written a quick web log entry on where I see PyPI going from here: http://mechanicalcat.net/cgi-bin/log/2003/01/17#pypi_future
Note that PyPI isn’t built on Roundup. It just doesn’t need that kind of framework.
Your other concern - browsing the Trove tree - is quite important to me too. I just need some time to actually sit down and implement it (at the moment I’m focusing on getting another bugfix release out for Roundup, and the Roundup replacement for Python issue tracking). I’ll happily accept donations of patches for PyPI to implement just about anything :)
comment
Oh, and I’m not sure what you mean by “Roundup had to be installed as a ” - word missing ;)
Roundup uses distutils to install all its components - both library and executable.
comment
Oops, yeah. I have a problem with leaving sentences unfinished.
Roundup had to be installed as a global library, I meant, at least according to the install documentation I read at the time. As I wrote above, I haven’t looked at distutils as much as I ought’ve.
PyPI certainly looks a lot like Roundup, I meant to say—I guess it’s that both are built with TAL templates you wrote.
Thanks for your comments!
comment
Rather then package::wiki make it wiki::package and the problem goes away. Then you can have wiki::moinmoin, wiki:zope and wiki::nextGreatThing etc.
CPAN guys may have been first, but that doesn’t mean best ;)