[Distutils] PEP 426 updated (with more than you ever wanted to know about version schemes)

Ronald Oussoren ronaldoussoren at mac.com
Tue Feb 12 09:25:10 CET 2013

On 12 Feb, 2013, at 8:08, Nick Coghlan <ncoghlan at gmail.com> wrote:
> So, to my mind, the next PEP we're missing is actually one for the
> *sdist* format itself, including a definition for how the
> meta-packaging system should invoke the sdist->wheel build step,
> rather than one for the Archiver/Builder configuration data (which is
> what PEP 390 tries to be, and which I'm not convinced needs to be
> standardised at all, so long as the Archiver takes care of translating
> it to the standard formats).

PEP 390 removes the need for having a setup.py file when using the
distutils Builder, and should make it easier to migrate to some other
build.  Just using it for distutils (as the PEPs title mentions) would be
a win.

> My primary near(ish) term objectives are to ensure:
> - a project's choice of Archiver or Builder should *NOT* affect a
> user's choice of Installer (or vice-versa)
> - given an sdist and no other information, it should be possible to
> create any bdist_* format

Sounds like a good plan. 

> PEPs 426 and 427 between them should achieve the first objective,
> while the other parts of PEP 426 should get us a long way towards
> achieving the second (with "./setup.py bdist_wheel" as the interim
> build hook, pending the introduction of anything better in a PEP for a
> clarified sdist format).

How far do you want to standardize the sdist format? For the goals you
mentioned earlier you'd only have to specify that an sdist contains
a configuration file that says which builder should be used. It might be
nice if the full PKG-INFO contents were also available to extract some
metadata without invoking the builder.


More information about the Distutils-SIG mailing list