[Python-Dev] Fwd: PEP 426 is now the draft spec fordistribution metadata 2.0

Paul Moore p.f.moore at gmail.com
Tue Feb 19 17:26:34 CET 2013

On 19 February 2013 13:59, Nick Coghlan <ncoghlan at gmail.com> wrote:
> It's OK if people don't want to read the detailed rationale provided
> for each of the major changes as part of the PEP, or if they want to
> dispute a particular piece of that rationale. But merely going "it's
> too complicated!" or "metadata 1.2 failed, so 2.0 will fail as well!"
> is not a reasonable response. Software distribution is complicated -
> trying to oversimplify it is one of the reasons setuptools became
> necessary.

Nevertheless, the landscape is confusing. PEPs 241, 314, 345, 426,
390, 376 and 386 are all relevant to one extent or another, and only
PEPs 426 (Metadata 2.0) and 390 (Static Metadata for Distutils -
setup.cfg) are still in Draft format. The others are all Accepted or
Final. And yet PEPs 345, 390 and 386 are unused and likely to remain

I believe that the only ones that are *actually* of use are 241, 314
and 426 (Metadata 1.0, 1.1 and 2.0, but not 1.2) and 376 (Database of
Installed Python Distributions) although 376 still has a number of
flaws. I'd suggest that these should be marked as Final, and the
others as Rejected, so that we have a clear statement of what is
actually supported.

Making sure that users have the means to write code that *uses* these
standards using functionality available in the stdlib is then the next
step as you say. It is critical that this is done, because packaging
tools are unique in that the barrier to using external dependencies is
particularly high for them - for example, pip's reliance on
distribute/setuptools is necessary, but has been problematic at times.


PS Apologies for using a load of PEP numbers without explanation.
Here's a glossary:

Metadata 1.0 - PEP 241
Metadata 1.1 - PEP 314
Metadata 1.2 - PEP 345
Metadata 1.3 - PEP 426
Static Metadata for Distutils - PEP 390
Database of Installed Python Distributions - PEP 376
Changing the version comparison module in Distutils - PEP 386

More information about the Python-Dev mailing list