On 12/22/2009 10:15 AM, Lennart Regebro wrote:
> Another point that I really like about the service is that the distribution
> pages provide links to many other related services that are run by other
> volunteers. Take for
examplehttp://search.cpan.org/dist/PAR-Repository-Client/
> There is a link to cpanforum, specifically the relevant discussion forum for
the
> module at hand. It shows a link to the bug/request tracker with the number of
> open bugs, the one next to it will display a nice hierarchical (recursive)
list
> of dependencies.
>
Right, those third-party services doesn't exist for PyPI.
The reason why PyPI does not have such third-party services - I think -
is that it lacks the CPAN like simple directory structure that can be
easily mirrored using ftp/rsync, to wit:
[Steffen Mueller]
My thesis is that the huge success of the CPAN has been facilitated by
two factors[2]. The first is simplicity. When Jarkko Hietaniemi
originally came up with it, the CPAN was (and mostly still is) just an
FTP archive with a by-author directory structure that is mirrored many
times.
http://pypi.python.org/simple does not qualify here, for there is no
reliable way one can get, say, the source tarball for package 'Foo' and
version '0.3'.
For an example, see: http://pypi.python.org/simple/Pylons/
The only way to get, say, version 0.9.7's source code is to scrap that
page and get the link "0.9.7_home_page" (assuming Pylons-0.9.7.tar.gz is
not already available -- which is entire possible for packages in PyPI:
missing source tarballs) and further scrap it for download links. Not
very friendly for third-party sites to simply update PyPI packages on
daily basis (where rsync works very well).
Simplicity is nowhere to be found.
One solution I can think of is this: make PyPI only do the job of PAUSE
as it does for CPAN; and implement a CPAN like simple directory
structure to store packages; make PyPI use that as the package data
store; deprecate the XmlRpc interface and rely on simple index files -
such as http://www.cpan.org/modules/01modules.mtime.html - instead
(consequently rethink PEP 381). This is partially implemented for PyPM
at ActiveState and I'd be willing to contribute my time towards doing
this for PyPI (if at all there is an interest).
-srid
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig