Exploding frameworks
Recently Baijum (Baiju Muthukadan) blogged on Zope community, the largest producer of eggs!.
While this is an interesting fact, I think that the number of eggs is nothing one should be particularly proud of. Zope3, Plone and now Zope2 are producing eggs like mad, swamping the PyPI index with version after version of packages useful to the respective framework only. OTOH rather basic information like supported python versions is missing, not included with the eggs documentation or even the framework docs anymore. Plone, with its dependencies on special Zope (and thus Python) and CMF versions has repeatedly reported problems in telling users about this dependencies.
Moreover, there are simply no provisions made to stop users from ruining their system python by using the 'wrong' easy_install except for the hint to *not* use the system python but a dedicated, user installed python version - which is ever so often not possible at all. There are no checks for supported interpreters, easy_install dumb installs as long as it can find and build all necessary dependencies.
Riddle: "Does the absence of a py2.5 egg signal that the package is restricted to python2.4 use only?" ...
You might answer that eggs were meant for distribution and not for consumption by humans and that the inner workings of the build system are such complicated, that noone would want to know about it anyway. Right, but to me exploding the framework into eggs results in even less written package and system documentation. In the Zope/Plone world pushing the package/egg to PyPI - often without any accompaning docs or even links to docs - is the usual way to announce a new release.
Maybe we should limit the general use of PyPI as a 'dump-and-run' repo. While there is no way back and all currently published packages will stay in PyPI forever, i'd suggest a change to framework dependent distribution repositories (E.g. Repoze is cleverly doing this right from the start).
PyPI could hold a stub package for each framework or package, with current documentation and links to the distribution server. That would only virtually lessen the weight of Zope/Plone frameworks (regarding the PyPI package count), but open a way to a better, twofold distribution system: the already existing one for automated distribution/configuration and one supporting human digestion -- which yet has to be written.
Comment
Whether or not we should put downloads on PyPI or not is a different issue, and whether we should use it as the authoritative index for our build environments is yet another question. I think we'll still have to tinker with alternatives for a while. Repoze has made some promises that I think will be hard to keep. But I'm ready to be positively surprised.
As far as anton's comment goes, I'm not sure what's wrong with "too much" documentation. I do agree that it's bad if the documentation is unusable (e.g. because it's written in a poor way or because it's not structured properly)... I also realize that we're "abusing" PyPI to create homepages for our packages (hence the homepage link to PyPI), but then again, what else is there put on a proper homepage on zope.org about a package besides the README and a link to the repository and the bugtracker (which isn't even on zope.org either, it's on launchpad.net).


Comment
I don't like the way PyPI is flooded by zope/plone egg's.
And what is even more terrible is that there is sometime no documentation or too much documentation.
I also noticed that some of the products had only a link to their own PyPI site, instead of a link to the main project web site.