[Python-Dev] Proposing PEP 345 : Metadata for Python Software Packages 1.2

Tarek Ziadé ziade.tarek at gmail.com
Wed Dec 23 20:07:30 CET 2009

2009/12/23 "Martin v. Löwis" <martin at v.loewis.de>:
>> I think we want something stronger than that since they were not really used by
>> the community and removed and replaced by something better. Using them
>> should raise a warning so developers abandon them, so it would be
>> "don't use 1.1 anymore"
> I think you are mixing the distutils implementation (and parameters
> to the setup function) with PEP 345. This PEP *only* describes a
> data format. As such, it is not capable of raising exceptions.

I am just describing the needs and the end user PoV with the reference
implementation that happens to be used by *all* tools out there.

So that will happen in the code of course, but we need the PEP to state clearly
wether metadata 1.0 and 1.1 should be dropped by implementations or not.

>> PEP 314 (PEP 345 predecessor) was implemented in a very particular manner:
> PEP 314 was implemented multiple times - not only in distutils, but also
> in PyPI (for example).

PyPI doesn't produce PKG-INFO files AFAIK, it just consumes them, no ?

I am referring to the implementation in Distutils that produces 1.0
*or* 1.1 PKG-INFO files.

>> If you do use options like 'requires' in Distutils' setup.py, your
>> package ends up with a PKG-INFO Metadata v1.1. Otherwise it stays
>> v1.0.
> Please do keep distutils out of PEP 345. The remaining occurrences
> (such as what the "interpret_marker" function does) should be removed.

That's the reference implementation of a PEP 345 reader/writer that
happens to be in the stdlin. For what reason should we remove it from
the PEP ?

>> Once 1.2 is defined, we could deprecate the options that are
>> corresponding to 1.1 at Distutils' level and make Distutils only
>> produces metadata v1.2 PKG-INFO files (even if the options used by the
>> developer could be written in a valid 1.0 format).
>> This will be clearer I think.
> It would be also incompatible with existing consumers that expect
> a Python package to have an earlier version of the metadata.
> Dropping 1.0 may be fine though - but again, this is out of scope
> here.

I don't understand why you are saying this is out of scope. Shouldn't we
state clearly in the PEP that 1.0 and 1.1 should not be used in the future ?

Tarek Ziadé | http://ziade.org

More information about the Python-Dev mailing list