[Distutils] [RFC] PEP 345 and PEP 386 updates

Fred Drake fdrake at gmail.com
Tue Oct 20 15:36:08 CEST 2009

On Tue, Oct 20, 2009 at 7:37 AM, M.-A. Lemburg <mal at egenix.com> wrote:
> Where's the benefit of renaming the above three fields ?

I don't see any benefit here either; if we want to add fields for
Python package or anything else, new (more explicit) field names can
be added, without ever requiring these to be changed.

As much as having more explicit names would be nice, it's not worth
the disruption caused by deprecation cycles, or the accompanying
confusion.  These sorts of changes have very long uptake, while the
clarity benefit is close to non-existent.

> I'd also remove the "Requires-" from "Requires-Python" and
> simply use "Python" as field name.


> The micro-language should provide a limited number of
> variables to use on the conditions:
> python_version = sys.version
> sys_platform = sys.platform

If we adopt such a micro-language (I'm reserving judgment until I've
had more time to read the relevant PEPs carefully), I'd rather see the
names match what's in the Python runtime more closely, probably only
avoiding the call syntax.

This would make the examples:

  requires: pywin32; if sys.platform == 'win32'
  requires: bar (>1.0); if sys.platform == 'win32'
  requires: foo; if platform.machine == 'i386'
  requires: bar; if sys.version == '2.4' or sys.version == '2.5'
  requires: baz; if 'linux' in sys.platform

> The same notation could also be used in setup() keyword
> parameters for the meta-data fields, e.g.

Whatever notation is adopted should be used consistently.


Fred L. Drake, Jr.    <fdrake at gmail.com>
"Chaos is the score upon which reality is written." --Henry Miller

More information about the Distutils-SIG mailing list