[Distutils] Specifying eggs and build manifest ?

Tarek Ziadé ziade.tarek at gmail.com
Tue Dec 22 03:06:58 CET 2009

On Tue, Dec 22, 2009 at 2:24 AM, David Cournapeau <cournape at gmail.com> wrote:
> Hi,
> I wonder if there is any interest in the current distribute effort to
> specify some low-level commonalities outside the distutils code for
> interoperation. In particular, I had two things in mind:
>  1 Formally specifying the egg format (and versioning it !) - or is
> egg format outside distribute goal ?

If you are referring to the installation format, Distribute wants to
drop any extra format in the future and stick with a unique, standard
format described in PEP 376 to avoid having an heterogeneous

>  2 Formally specifying something like a build manifest which would be
> used for installation.
> I think the first point is self-explanatory. Concerning the second
> point, the current way of installing things in distutils is a bit too
> ad-hoc to my taste, and could be fixed inside distutils to make it
> easier to interoperate with other methods (be it native OS methods or
> other python-related tools). Right now, distutils install things from
> a list of files, but this only contains the target location for some
> kind of files. What about the following kind of format instead (or in
> complement for backward-compatibility):
>  - split the flat list into a list of "typed" sections, where type
> would be e.g. data, python files, extensions, scripts, etc...
>  - for each section, specify both the source and target directory.
>  - the format should be easy to parse/produce, and versioned.

I like the idea

> The rationale is that such a format would enable the following:
>  - it becomes easier to post-process files at install time, with
> different methods for each type
>  - such a format could form a basis to produce "conventional" install,
> eggs and other kind of installers, including convertion between them.
> Assuming this idea fits into what people involved in distribute are
> doing, I would be willing to propose a more formal description - I
> already have the implementation in my own project toydist, where I use
> build manifest to do explicit install and eggs/wininst conversion.

Distribute 0.7 is still under heavy construction, and the goals we have
about the installation features are not fully defined yet. What we want for
sure is to make it the laboratory of Distutils to improve things in smaller
cycles than python. And having a better build description sounds like
something we could use/have.

More information about the Distutils-SIG mailing list