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

Reply via email to