[Catalog-sig] What is the point of pythonpackages.com?

Martijn Faassen faassen at startifact.com
Tue Feb 7 02:17:57 CET 2012


On 02/06/2012 10:58 PM, Terry Reedy wrote:

[snip stuff about what people ought to do or be left free not to do. I 
think this list has too many discussions on morality]

> If I remember correctly, the Cheeseshop/PyPI was originally *just* an
> index.

I remember endless "Python needs a CPAN" discussions way back when, with 
people saying they think Python's great but CPAN is what makes Perl 
awesome. So I think that package hosting was always also on people's minds.

It had trouble getting off the ground as the task seemed daunting, so 
some very clever people decided to work on distutils and metadata first 
and then indexing metadata, then uploading packages, then automatic 
download facilities, etc, going for a CPAN-style network step by step, 
where different steps could be accomplished by a different set of people 
if necessary.

PEP 301 gives some historical background about the thinking in the 
rationale, which I suspect wasn't updated a lot since first publication 
so hopefully reflects the actual thinking of the time. It confirms that 
*this* particular step deliberately didn't think about repository 
functionality yet but it's also clear it's on people's minds as well as 
a future step:

http://www.python.org/dev/peps/pep-0301/

Already in 2001 PEP 241 was mentioning the sdist command, so that has 
been around for a while.

'sdist upload' and repository functionality was added in Python 2.5, so 
in 2006:

http://docs.python.org/release/2.5/whatsnew/pep-314.html.

But setuptools was also around at that time and was also supporting the 
'upload' command, including for python 2.3. Ah, I see a checkin here 
that seems to indicate it was added in the summer of 2005, in version 0.5a7:

http://www.gossamer-threads.com/lists/python/checkins/413647?do=post_view_threaded

so repository support in PyPI must be at least as old as 2005.

A few years ago I wrote a history about this stuff:

http://faassen.n--tree.net/blog/view/weblog/2009/11/09/0

Anyway, whatever the original purpose was, it's less relevant today, as 
it's more interesting what the purpose to authors and users the system 
has today. But I just like puzzling together the history so that's why 
the little side trip.

> The hosting-repository service was added later -- as a
> convenience firstly to authors. I now believe that the repository should
> have been and should be kept separate, as the Python Package Repository
> -- PyPaR. Then repository issues would be clearly separate from index
> issues.

Point taken about the separation of concerns.

Anyway, if that had happened, I think you would get people recommending 
that people put stuff both in the index and in the repository for the 
convenience of the users. And authors might want an integrated UI to 
manage things too. :)

I suspect in this alternate timeline it would've been easier to get 
people behind the notion of package hosting by a repository if it were 
construed as a *cache* of releases that are listed in the index.  People 
might feel different about the situation in such a case.

Regards,

Martijn



More information about the Catalog-SIG mailing list