[Catalog-sig] Package maintenance mechanism for Python

Maurice Ling mauriceling at acm.org
Wed Apr 27 00:34:37 CEST 2005

Hi all,

I am new to this list. To cut matters short, my concern is this,

PyPI has a module upload mechanism. But is there a module download 
mechanism. By that, I meant a mechanism which system admins can use to 
download and install a module (library) and keep track of what is 
installed into site-package directory through this mechanism?

The problem I see is that maintaining 3rd party libraries in 
site-package is a task for system admins or developers, especially when 
new versions of Python is installed (say from Python 2.3 to Python 2.4). 
All of the libraries (esp those with C modules) needs to be recompiled. 
Is there a mechanism for the programmers to find out what is installed 
in say, Python2.3's site-packages and download the same modules from 
PyPI and install them in Python2.4's site-packages?

I had posted the following in python-list but will replicate it here for 

Perhaps this is another call for Python version of CPAN (CPyAN or PYAN). 
 It can be modelled after Fink or Darwinports.

If I remembered correctly, Fink uses apt-get and curl.

What can be done in PYAN is to encourage all 3rd party library 
developers to centralize their libraries in it, which I think all will 
gladly respond. All that is needed to be  deposited in PYAN is a 
description file, like the simplest setup.py file. All that is needed in 
this description file is
1. where to download the source codes (e.g. CVS)?
2. version number?
3. standard stuffs (optional) like authors, descriptions, copyright?

Python can then have a built-in mechanism to read the description file 
and download the source codes and do the standard "sudo python setup.py 
install" to install the library into site-package. The main thing this 
mechamisn does is to maintain what had been installed in site-package 
through it and what versions. So when newer versions of Python is 
installed, there can be a script to take the old site-package log, 
download the same set of libraries and install them for the new version 
of Python.

Darwinports uses a very simple means to achieve this. All the 
description files are in a CVS repository. The actual source codes for 
the libraries may or may not reside in the CVS repository. Darwinports 
system installation is little more than checking out the entire 
repository of description files. When user wants to install a library, 
it then downloads the library's source codes and performs the standard 
"configure, make, make install" operations. Of course, the root user 
will have to do a update to update to the latest version of description 

I think something like this can be set up for Python quite easily. I 
recall some time back, there's a long discussion about setting up 
Python's version of CPAN but I can't recall the contents of the 

Thanks and cheers

-------------- next part --------------
A non-text attachment was scrubbed...
Name: mauriceling.vcf
Type: text/x-vcard
Size: 334 bytes
Desc: not available
Url : http://mail.python.org/pipermail/catalog-sig/attachments/20050427/4361ce9e/mauriceling.vcf

More information about the Catalog-sig mailing list