[Python-Dev] eggs now mandatory for pypi?

Tarek Ziadé ziade.tarek at gmail.com
Tue Oct 6 16:00:29 CEST 2009

On Mon, Oct 5, 2009 at 5:11 PM, M.-A. Lemburg <mal at egenix.com> wrote:
> Senthil Kumaran wrote:
>> On Mon, Oct 05, 2009 at 10:43:22AM +0200, Fredrik Lundh wrote:
>>> it's revews like this that makes me wonder if releasing open source is
>>> a good idea:
>>>    no egg - worst seen ever, remove it from pypi or provide an egg
>>> (jensens, 2009-10-05, 0 points)
>> Greetings effbot. :)
>> As you might already know, "eggs" are not mandatory for pypi. No where
>> in the documentation it mentions so. Also many good packages in pypi
>> are not eggs (MaL's egenix packages for e.g) and we have known his
>> dislike for that particular format too.
> I don't dislike the format itself, just the tools that are
> available for using it.
> We've implemented our own bdist_egg now which doesn't use setuptools
> and will start to ship eggs in addition to our prebuilt format with
> the next releases.
> As time permits, we'll also write an egg installer/uninstaller
> (one that does only that ;-).
>> But still, sometimes people have found eggs to be convenient.

The idea of PEP 376 we are working on is to have a unique unified
standard for distributions
installed in site-packages, instead of the current situation where we
have many installation formats.
(Distutils pre-Python 2.5, Distutils post-Python2.5, Setuptools
self-contained Eggs, ..)
because it makes it simple to provide APIs to query what's installed,
and ways to uninstall things.

That's what I would call the "Missing APIs" to make Distutils a
package manager, or at least a basis for package

Having an egg installer/uninstaller that works with Setuptools-like
self-contained eggs sounds like
a package manager system on its own and yet another format.

But as far as we went in the discussions for PEP 376, it seemed like a
first step would be to work with a single
installation format and provides all APIs for it, then to think about
having other formats and ways to query them
in a second move.

That's why I don't think its the right time to add a bdist_egg command
in Distutils, until PEP 376 is
fully defined (and maybe extended to support several format).


Tarek Ziadé | http://ziade.org | オープンソースはすごい! | 开源传万世,因有你参与

More information about the Python-Dev mailing list