Features for a Python package manager?
Nick Coghlan
ncoghlan at iinet.net.au
Sat Dec 25 07:40:57 EST 2004
Georg Brandl wrote:
> Hello c.l.py,
>
> what features would you expect of a Python package manager, similar to
> CPAN or rubygems?
>
> I am currently planning to write such a thing, at first privately for
> myself, and if it's proving useful, I think about releasing it.
I've contemplated such a beast myself, but have never got further than a cursory
look at "what work has already been done that I should take into account?"
Howevever, it sounds like that info would be useful to you, so here's what I've got:
PEP 314 (Metadata for Python Packages v 1.1) details the properties of the
metadata that the Python repository relies on.
Don't worry about PEP 241 - it has been superceded by PEP 314.
PEP 301 describes PyPI (Python Package Index) - the central index of available
packages. A running version of it can be found at http://www.python.org/pypi
PEP 243 is probably worth looking at, although I believe it is basically
superceded by PEP 301.
PEP 262 describes a proposed (local system) installation database. An
implementation already exists in the nondist section of CPython's CVS
repository, but further progress is currently stalled due to lack of a champion.
It would also be good to be aware of how distutils currently works (even if
that's just by reading its documentation). Doing your own trawl through PEP 0
wouldn't hurt, either (it's possible I missed something relevant). The archives
of python-dev and the distutils SIG may also provide good info.
If you're serious about doing a good job (i.e. to a "possibly included with the
standard Python distribution some day" standard), it may be worth posting a
question on python-dev about it. Just say that you're contemplating writing such
a tool for your own use, and are interested in any ideas which aren't currently
documented in the places I mentioned above. You'll find several of the authors
of the above material frequent python-dev, and will hopefully have some good
pointers regarding what needs to be done.
> I plan to model it after gentoo's portage, with less features of course.
> Would this be acceptable?
I don't know enough about Portage to answer that question. I do know any package
manager which made it into the standard distribution would need to work for at
least the big three platforms (Windows/Mac/*nix) :)
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at email.com | Brisbane, Australia
---------------------------------------------------------------
http://boredomandlaziness.skystorm.net
More information about the Python-list
mailing list