[Distutils] let's standardize dependency declaration without trying to agree on how to implement it
zooko at zooko.com
Wed Sep 24 19:21:32 CEST 2008
On Sep 24, 2008, at 0:27 AM, David Cournapeau wrote:
> If you look at the ruby gem page, you have one link for a
> I have not done it, and maybe I would realize I were wrong by
> trying it,
> but I got the impression I could generate gems myself from the
> specification. Can I do that with eggs ?
How about this:
> There is also the problem that by making some things easy but
> effectively "magic", when it breaks, you don't know how to fix.
I agree that this is a problem. People interested in improving it
should read Philip J. Eby's post "setuptools: past, present, future"
Since then we've made a great step forward by having the distutils in
Python 2.5 and newer automatically produce .egg-info files.
Then, we made another step forward when we persuaded Linux
distributions like Debian and Red Hat to stop deleting those .egg-
info files. ;-)
In my opinion the next step forward at this layer of basic
compatibility is to formalize setuptools's "requirements" syntax
(mainly install_requires, but also setup_requires, test_requires, and
extras_require) as a standard part of Python.
Note that I am not saying anything about the implementation of how
requirements get satisfied, which we've already failed to agree on
for a Python standard, only that if developers want to write down "My
package depends on package XYZ" in their package's meta-data, that
they can do so in a single, standard syntax so that all of the new
crop of packaging tools can read what they wrote.
Of course, this standard syntax should be compatible with the most
widely-used current implementation -- setuptools/easy_install. This
is an opportunity to standardize some basic metadata, not to innovate
and not to standardize anything harder and more implementation-
specific than simple dependency declaration.
http://allmydata.org -- Tahoe, the Least-Authority Filesystem
http://allmydata.com -- back up all your files for $5/month
More information about the Distutils-SIG