[Zope3-dev] Zope 3 a la carte

Fred Drake fdrake at gmail.com
Fri Oct 8 16:23:43 EDT 2004


On Fri, 08 Oct 2004 00:40:45 +0200, Martijn Faassen <faassen at infrae.com> wrote:
> I've done a small experiment with zpkg today, but it looks like far more
> packages get included than I'd hoped for.

Lovely, isn't it?

> It seems many packages in Zope 3 don't state their dependencies. Is the
> intent to add this and nobody has gotten around to do this, or is there
> some other reason behind this?

What do you think is missing?  Note that the dependencies are stated
for each packaging component, not per Python package.  This is
particularly evil for zope.app.

> There are also issues like Five using zope.app.container, say, but only
> to import events and not actually any of the rest of the implementation.
> In some cases I suspect that for Five to be functional actually less
> dependencies would be needed than a particular package needs to fully
> function.
> 
> Many packages are likely pulling in stuff from the ZODB for instance,
> but a Five-subset of Zope 3 wouldn't need the ZODB at all, as Zope 2
> already has one. :)

There's dependency, and then there's packaging.  Something that
depends on ZODB packages should state them.

> There are some strategies to cope with this, I imagine:
> 
> * in case of the ZODB one, we'd need a way to say 'well, these are the
> dependencies, but for Five, this is actually not a dependency'. Perhaps
> a 'global dependency exclude list' is an option.

Yes.  Some way to tell zpkg not to actually include particular
dependecies would help a lot.  I'm aware of this, but haven't had time
to deal with this (since I didn't need it for Zope X3).

> * refactor various packages, moving stuff out of zope.app into zope. Or
> at least, splitting stuff up into parts, where some part need less
> dependencies than others.

This is going to be painful, and I suspect won't yield much for it
most of the time.  It really depends on how many different aspects of
a problem are dealt with by any one module, and I don't know that we
have all that many truely evil offenders here.  But I could be wrong
about that.  ;-)

> * ignore the dependency mechanism in zpkg entirely and only package up
> those packages explicitly listed. This is already possible, I believe?

It's possible to not use the dependency mechanism with packaging, but
then you get a distribution for exactly one package (whatever you name
on the command line).  It's not possible (or very reasonable) to
change this at this point.  The exclusions list makes a lot of sense
though.


  -Fred

-- 
Fred L. Drake, Jr.    <fdrake at gmail.com>
Zope Corporation


More information about the Zope3-dev mailing list