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

"Martin v. Löwis" martin at v.loewis.de
Wed Dec 23 15:30:44 CET 2009


> The deprecation of the existing Requires/Provides/Obsoletes fields
> should be more prominent - tucked away below the examples, I missed
> these notices on the first read through (I only noticed that they
> actually had been formally deprecated when I got to the summary of
> differences at the end). I suggest placing the deprecation notice
> immediately after the relevant field headers.

I would go beyond deprecation, and propose to remove them altogether.

In the metadata format, there is no point in deprecating something.
If you have a valid use for these fields, use version 1.1.

> There also needs to be an explanation in the PEP as to whether or not it
> is legal to use both Requires and Requires-Dist (etc) in the same
> PKG-INFO file. (i.e. what is the use case for allowing the old fields to
> be used in a metadata v1.2 PKG-INFO file? Should PEP 345 aware packaging
> tools just ignore the old fields, while v1.1 tools ignore the new ones?
> Or should new tools attempt to handle both?)

I think that depends much on the tool. Distutils will just write it into
the metadata. PyPI will just store it in the database (and create new
columns for the new fields), and render them to the user.
The only issue would be with tools that actually do resolve
dependencies.

I believe that, for the old fields, no such tools actually exist. I may
be wrong, in which case authors of such tools should speak up when the
PEP proposes removal (or propose re-introduction in v1.3 of the format).

Regards,
Martin


More information about the Python-Dev mailing list