[Distutils] PEP 376 Status

Tarek Ziadé ziade.tarek at gmail.com
Thu Mar 25 11:20:41 CET 2010


I've sent a mail after Pycon to request some comments on the work we
have done during Pycon but I had no feedback at all :)


I realize that this piece of work is quite dense, and hard to follow.

(As a reminder the draft is here:

I propose to make it a PEP on its own, and to reduce the scope of PEP
376 to what is contains already. This new PEP will be an extension to
the work done in PEP 376 and will not really interfer : the new piece
of work might add a new file in the egg-info directory, but the rest
of the work is elsewhere. (in sysconfig)

Then I propose to focus on PEP 376, and to go ahead and try to have it
accepted before the first beta of Python 2.7.

So basically, PEP 376 defines a directory containing the metadata of
an installed package, and all information about the files installed.
The goal is to provide some APIs in pkgutil, in order to query what's
installed. In other words, add in Python's stdlib what setuptools
provides with pkg_resources.

So what about starting a new round of comments on this PEP,  keeping
in mind that all the unsolved issues about resource files are being
worked out in the other document ?

There's one thing I would like to comment : Someone at Pycon asked me
why the structure was called "PROJECT_NAME.egg-info". After explaining
to him the historical reasons, I realized that there's no benefits at
all to keep this name:

- we've removed the python version from the name of the directory
- we stated that the new APIs will not recognize the old formats
(setuptools', distutils)
- any existing software that want to use the new format will have to
change its code anyways, and a name change don't really add more work.

So I am proposing to replace "egg" by "pkg". For example:

- docutils-0.5.egg-info/


- docutils-0.5.pkg-info/

I am also proposing to change the name of the file "PKG-INFO" into
"METADATA" to stay consistent, because that's what it is.. :

- docutils-0.5.pkg-info/

With these definitions:

  - pkg-info directory : information about a Python software package
that is installed on the system
    - METADATA file: PEP 345 file about a Python software package that
is installed on the system

Any comment on this ? Or on anything else on PEP 376 ?


Tarek Ziadé | http://ziade.org

More information about the Distutils-SIG mailing list