PyUniverse

Goal

Make Python Packages transparently available to users of distributions, in native package management format (.deb, .rpm, &c)

Mechanism

We bootstrap off existing technologies - !PyPI <http://www.python.org/pypi>_ and zpkgtools <http://www.zope.org/Members/fdrake/zpkgtools/>_. When a package is posted to !PyPI, a builderbot for a particular distribution fetches the package, and examines it. If it conforms to a standard format (using zpkgtools) we autobuild a package for it and make that available in a PyUniverse repository. We can also push data back to !PyPI so that a user who views a particular package in !PyPI will be offered a collection of links to per-distribution packages.

Open Issues

Signing of distributions - perhaps we look (by default) for http://host/path/to/download.tgz.asc

Dependencies - both of other Python packages and system libraries (for instance, libgsm)

Automated unit testing?

Should we have a separate installation directory, universe-packages, instead of site-packages?

Some O/S distributions might support multiple versions of Python. How do we deal with, for instance, the scripts that Twisted would install in $prefix/bin? Is this something that the distribution-specific builderbot should worry about?

The build logs for a particular package should be available to the package author.

What happens if a Bad Person puts nasty crap in a setup.py? The builderbots will need to deal with this.

Resources

zpkgtools: http://svn.zope.org/zpkgtools/trunk/

You can fetch zpkgtools with svn co svn://svn.zope.org/repos/main/zpkgtools/trunk zpkgtools depends on PJE's setuptools, available from Python's CVS as "nondist/sandbox/setuptools"


CategoryArchive
CategorySpec

Spec/PyUniverse (last edited 2008-08-06 16:25:53 by localhost)