[Distutils] formencode as .egg in Debian ??

Christopher Lenz cmlenz at gmx.de
Thu Nov 24 20:37:38 CET 2005

Am 24.11.2005 um 19:27 schrieb Josselin Mouette:
> Le jeudi 24 novembre 2005 à 12:49 -0500, Phillip J. Eby a écrit :
>> I don't really care if you accept the proposals or not; you guys  
>> need to do
>> whatever you think is best for Debian.  I've only tried to educate  
>> you
>> about your options regarding eggs, framed within the assumption  
>> that you
>> *want* to distribute egg-based projects.  The question of eggs'  
>> goodness or
>> lack thereof is entirely irrelevant within that frame.  Either you  
>> want to
>> distribute those projects or you don't.  If you don't, then this  
>> discussion
>> is pointless.  If you do, then arguing that people shouldn't use  
>> eggs is
>> equally pointless.  The only discussion that has any point is  
>> *how* we can
>> get the needs of both Debian and the project developers met.
> Indeed. I'm sure no sane Debian developer would want to distribute
> egg-based projects if there was another way to distribute them, but  
> they
> are here and people will want them. You are making things worse by
> advocating the egg way of doing things, and the only thing I can do if
> you don't stop is to urge developers to think twice before shipping
> their projects this way. Maybe it will make their development a bit  
> more
> difficult, but it will improve the situation for their users.

Eggs are not really a way to *ship* Python projects. It is a way to  
deploy Python projects so that they can provide discoverable meta- 
data at runtime.

This meta-data can be used in many ways. An example: for the latest  
release of the Trac project management web-app we implemented a  
simple plugin system that is based on Python eggs. It uses the egg  
meta-data to discover other Python projects that provide plugins for  
itself. Thus, this meta-data is essential for using plugins in Trac,  
and if a package is installed without this meta-data, well, you  
could've just as well not installed it at all.

Sure, every Python project that wanted to be extensible could just  
reinvent the wheel here and implement its own system for discovering  
and activating plugins. But Python eggs give us a unified solution to  
this problem, and a very nice one, too.

The problems this approach may raise for package maintainers need to  
be discussed and addressed. But to simply say that eggs are a  
"crappy" technology is just ignorant.

Christopher Lenz
   cmlenz at gmx.de

More information about the Distutils-SIG mailing list