[Distutils] distlib updated with "locators" API

Daniel Holth dholth at gmail.com
Tue Oct 16 20:45:57 CEST 2012

How could I have forgotten about draft PEP 390:
http://www.python.org/dev/peps/pep-0390 , was looking for it in vain
in the draft distutils2 docs.

I don't like putting my Extensions in setup.cfg but putting at least
some of the [metadata] in there is very practical. Simply write a
setup.cfg for the ~1.5k packages that have conditional requirements,
create a patch, and have the installer check and apply
http://example.org/package/patch during the build phase.

PEP 390 syntax:

name = Distribute
version = 0.6.4

[metadata:sys_platform == 'win32']
requires = pywin32, bar > 1.0
obsoletes = pywin31

Current bdist_wheel syntax:

provides-extra =
requires-dist =
    distribute >= 0.6.28
    argparse; python_version < '2.7'
    keyring; extra == 'signatures'
    dirspec; sys.platform != 'win32' and extra == 'signatures'
    ed25519ll; extra == 'faster-signatures'

More information about the Distutils-SIG mailing list