[Distutils] Spec for the egg-info format

PJ Eby pje at telecommunity.com
Thu Mar 8 06:07:17 CET 2012


On Mon, Mar 5, 2012 at 4:47 PM, Paul Moore <p.f.moore at gmail.com> wrote:

> Is there a good spec of the egg-info (directory) format anywhere?


The official spec is http://peak.telecommunity.com/DevCenter/EggFormats


- What files are mandatory?
>
PKG-INFO - that's it.  The rest are optional - see
http://peak.telecommunity.com/DevCenter/EggFormats#standard-metadata


> - What format should files be in (specifically, line-ending format and
> to an extent encoding)
>

Setuptools doesn't define an encoding, and it treats any line ending
character(s) as line ending characters in the files it reads.  Think
universal newlines.


> - Should filenames in installed-files.txt be absolute or relative (and
> if relative, then to what)?
>

That's defined by the appropriate PEP; setuptools doesn't yet support an
installed-files log.


> - Directory name format is PACKAGE-VERSION-PYVERSION.egg-info,
> correct? Always?


The minimum is PACKAGE.egg-info, which is used for "setup.py develop"
installs/usage.


> What about platform-specific binaries? Do they need a
> platform ID in there?
>

That goes in the .egg filename, yes.  See:

http://peak.telecommunity.com/DevCenter/EggFormats#filename-embedded-metadata



> Also, what is the defined filename format for egg files and wininst
> executables? Is that defined anywhere (it seems to be more or less
> PACKAGE-VERSION-PYVERSION[-PLATFORM].egg for eggs, and
> PACKAGE-VERSION[.PLATFORM][-PYVERSION].exe for wininst).
>

The wininst format is distutils defined rather than setuptools-defined; for
the rest, see the above link.


If necessary, I can read the code from distutils/setuptools, but there
> seem to be odd variations on the cheeseshop, and I'd rather be sure
> what's accepted than stick purely to what the tools generate. But if
> what the tools generate is all that's going to be reliably accepted,
> then great, I'll go with that.
>
> My main interest is in what pip accepts, FWIW. (I'm trying to write a
> pip-compatible binary file installer).
>
> Paul.
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> http://mail.python.org/mailman/listinfo/distutils-sig
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20120308/3a66211c/attachment.html>


More information about the Distutils-SIG mailing list