[Catalog-sig] RFC: pypan - a Python package manager

Chris Barker Chris.Barker@noaa.gov
Fri, 25 Oct 2002 15:35:16 -0700


David Ascher wrote:
> > /The chicken and egg issue. It's difficult to reach the critical mass///
> > /where the system is actually used.///
> >
> > It might be useful to see how CPAN got started.
> 
> The standard perl way.  A huge amount of energy, a lot of people actively
> working together, and a lack of fear of hacks.  CPAN is nothing but a replicated
> FTP server w/ a bit of authentication and a lot of library science =).

This history can be instructive.

I've always thought that the community as a whole was kind of going
about this backward. There is a lot of talk, and a fair bit of coding
about the technology of a Python Module Catalog, but no one actually
building the catalog.

When I go to set up Python on a new machine (or upgrade). I have to go
to a bunch of different web sites to get the packages I generally use,
but for the most part, getting them to install has been pretty painless.
Some I just copy, some I ./configure; make; make install, some I
./setup.py build, etc. On Windows, most of them come with installers.

If I could just get them from one web site I'd be a whole lot happier
right there. If they all installed the same way that would be great too.

I'd like it even more if there was one installer that installed a
"complete" system. There is no such thing, of course, but there are a
limited number of packages that are in really general use (PIL, mxTools,
Numeric, ...). All I would be wasting is some disk space and download
bandwidth to download a pile of stuff in one fell swoop. If a particular
set of packages where semi-officially known as CompletePython version
2.2 (or whatever), then when you wanted to distribute your code, you
could just require CompletePython 2.2, and your users would have what
they need.

I guess what I'm getting at is an expanded "batteries included"
philosophy. It is great that the standard library has as much as it
does, but it's not enough. Trying to fold all that other stuff into the
standard library wouldn't work, of course, but if we managed to
establish a list of commonly used third party packages, each maintained
by different folks, but obtainable from one source, we'd have a great
start.

I'm inspired by the old "Python on Linux" site (sorry, I can't remember
who put that together). All I had to do was go there, download
everything, and do an rpm -U *, and I had most of the stuff I needed. 

What it would take to get this going is someone to host the site, and a
small group of folks to decide on a package list and start populating
the site. As it grows, it would be useful to build the tools to automate
the whole thing more, but we could get it started without any fancy
technology.

I proposed something like this on c.l.p a while back (1yr or so??). I
got surprisingly little support, and I just couldn't do it alone, so it
died. We really need a core group of a few folks (ideally one with
experience in building packages/installers on each of the major
platforms).

What I envision is being able to go to www.completepython.org, click on
version 2.2, click on Windows|OS_X|Linux and get a list of maybe 25-50
packages, any of which I could click on, or a "Download All" button.
That's it. Maybe if that package list grows to 100s (or thousands) it
would require more organization, but let's cross that bridge when we
come to it.

Yow! that rant got a lot longer than I had planned. Thanks for bearing
with me, if you got this far.

-Chris


-- 
Christopher Barker, Ph.D.
Oceanographer
                                    		
NOAA/OR&R/HAZMAT         (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker@noaa.gov