[Distutils] How can I create prebuilt distributions?
Jack Jansen
Jack.Jansen@oratrix.com
Fri Feb 14 17:07:02 2003
On vrijdag, feb 14, 2003, at 21:19 Europe/Amsterdam, David Ascher wrote:
> The good news is that we're reviewing our PPM strategy, and that we
> may be able to approach the problem in more effective ways than we
> have in the past. I think that PyPI will help as well because it
> provides a centralized point by which we can e.g. contact all of the
> maintainers. We could also presumably add functionality to the PyPI
> server that validates whether one can make a PPD out of the package,
> etc.
>
> I'm willing to spend some time talking about this, just not able to
> commit to spending significant development time or promise
> deliverables.
I'm interested. I'm working on a thing called the Package Install
Manager for Python (pimp) right now. I was planning not to go into
design discussions until 2.3 is out and only at that time write up a
PEP or something, but as pimp is 90% done I guess I can spare the time.
I wanted to wait because pimp is serving a very real need I have with
MacPython: on OS9 the MacPython distributions have always contained a
lot of extra goodies (Numeric, PIL), and people have come to expect
that. This was eating into my time for every distribution, though, and
I want to get rid of it. But Mac users often don't have a development
environment, and even if they do having them type in distutils commands
isn't exactly considered good style. (pet peeve: to me "open source"
means that you may download the source, you can build it yourself and
you have to option to modify it. Unfortunately the actual state of
affair is that in reality it means you must download the source, you
will build it yourself and you shall modify it before it works).
So the idea behind pimp is that there is an online database of packages
that is specific to a (OS-version, python-version) combination and that
has a maintainer who is responsible for not adding only packages that
have been tested and tried. Preferably the database should have source
and binary version of all packages, so the end user can state a
preference for either. The database also has dependency information,
and bits of code so pimp can actively test whether a specific package
is installed into your python, etc etc. The idea of having the database
be specific to os/python version happened to make the problem
manageable, but the more I think about it the more I like it and I'm
now considering it (together with having a scapeg^h^h^h^h^hmaintainer a
central part of the design:-)
I hope that people will appear who want to maintain the database, and
even if I have to do it myself it's still less of a bottleneck if I
don't have to do it at the same time of making sure everything in a new
Python release works.
If people want to have a look at pimp: it's in Lib/plat-mac/pimp.py.
It's probably MacOSX-specific right now, but that shouldn't be too
difficult to fix.
--
- Jack Jansen <Jack.Jansen@oratrix.com>
http://www.cwi.nl/~jack -
- If I can't dance I don't want to be part of your revolution -- Emma
Goldman -