eggs considered harmful

Harry George harry.g.george at boeing.com
Tue Jun 26 01:20:06 EDT 2007


jjl at pobox.com (John J. Lee) writes:

> Harry George <harry.g.george at boeing.com> writes:
>> jjl at pobox.com (John J. Lee) writes:
> [...]
>>> 2. You can run your own private egg repository.  IIRC, it's as simple
>>> as a directory of eggs and a plain old web server with directory
>>> listings turned on.  You then run easy_install -f URL package_name
>>> instead of easy_install package_name .  The distutils-sig archives
>>> will have more on this.
>>
>> Again, not speaking for anyone else: With 500 OSS packages, all of
>> which play by the same tarball rules, we don't have resources to
>> handle eggs differently.
>
> You said earlier:
>
>> The rules are that a) a very few authorized downloaders obtain
>> tarballs and put them in a depot and b) other users get tarballs from
>> the depot and build from source.
>
> Not sure how this differs significantly "from running a repository",
> in the sense I use it above.
>
>
> John

Significant differences:

"depot": Place(s) where tarballs can be stored, and can then be
reached via http.  

"private egg repository": Tuned to the needs of Python eggs.  E.g.,
not scattered over several directories or several versions.

Thus a depot of self-contained packages can handle:

1. Multiple "releases" of the depot live at the same time.

2. Packages factored into CD-sized directories (not all in one "-f" location)

3. Multiple versions of Python, without having a new egg for each.


4. Multiple target platforms.  Various *NIX and MS Win and Mac systems
-- each at their own OS versions and own compiler versions.  All
without having platform-specific and compiler-specific eggs.

5. Different package version selections based on compatibility with
other (non-Python) packages.  E.g., to tune for GIS systems vs 3D
animation systems vs numerical analysis systems vs web server systems.

6. Refresh process which does not need to fiddle with egg-ness, or
even know about Python.  Everything is a tarball.


-- 
Harry George
PLM Engineering Architecture



More information about the Python-list mailing list