[Python-Dev] eggs now mandatory for pypi? (original) (raw)

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 bdistegg 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 managers.

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

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



More information about the Python-Dev mailing list