[Distutils] Finishing PEP 345

Tarek Ziadé ziade.tarek at gmail.com
Mon Dec 21 12:14:49 CET 2009

On Sat, Dec 19, 2009 at 11:05 PM, Tarek Ziadé <ziade.tarek at gmail.com> wrote:
> On Sat, Dec 19, 2009 at 10:12 PM, Floris Bruynooghe
> <floris.bruynooghe at gmail.com> wrote:
>> On Fri, Dec 18, 2009 at 03:41:48PM +0100, Tarek Ziadé wrote:
>>> The remaining point I can see is about : Repository-URL,
>>> Repository-Browse-URL, Bug-Tracker-URL.
>>> As Ian suggested I propose to change these three fields to:
>>> Project-URL (multiple-use) :
>>>     A string containing an URL for the project and a label for it.
>>> separated by a comma
>> [...]

I've updated the PEP accordingly.

Here's the mail I'll send to python-dev for PEP 345, if anyone sees a
problem or something to add:


On behalf of the Distutils-SIG, I would like to propose to addition of
PEP 345 (once and *if* PEP 376 is accepted).

It's the metadata v1.2: http://www.python.org/dev/peps/pep-0345/

PEP 345 was initiated a while ago by Richard Jones, and reworked by
Tres Seaver, I, and some other folks last year at Pycon (Sorry I lost
track of the full list of contributors, but if anyone wants to be
mentioned in the Acknowledgment section let me know). Then it was
reworked throughout the year with PEP 386, in Distutils-SIG, with the
help of numerous folks.

The major enhancements are:

- being able to express dependencies on other *distributions* names,
rather than packages names or modules names. This enhancement comes
from Setuptools and has been used successfully for years by the

- being able to express some fields which values are specific to some
platforms. For example, being able to define "pywin32" as a dependency
*only* on win32. This enhancement will allow any tool to query PyPI
and to get the metadata for a particular execution context, without
having to download, build, or install the project itself.

- being able to provide a list of browsable URLs for the project, like
a bug tracker, a repository etc,
  in addition to the home url. This will allow UIs like PyPI to
display a list of URLs for a project. A side-effect will be that a
project maintainer will be able to drive its end users to the right
places when they need to find detailed documentation or provide some
feedback. This enhancement was driven by the discussions about the
rating/comment system at PyPI on catalog-sig.

We believe that having PEP 376 and PEP 345 accepted will be a major
improvement for the Python packaging eco-system.

As a side note, I would really like to see them accepted before the
first beta of Python 2.7 so we can add these features in 2.7/3.2 and
start to work on third-party tools (Distribute, Pip, a standalone
version of Distutils for 2.6/2.5, etc..) to get ready to support them
by the time 2.7 final is out.


More information about the Distutils-SIG mailing list