[Zope-dev] Dependencies question

Dan Korostelev nadako at gmail.com
Thu Dec 11 16:38:27 EST 2008


I was looking at dependencies of various zope.* packages and see that
some packages depend on other because of ZCML directives and some are
not. For example:

The zope.app.catalog package depends on zope.app.component, but
doesn't use it anywhere in non-testing code, however it does use the
``class`` directive, registered in zope.app.component.

While the zope.app.keyreference doesn't depend on zope.app.component
at all, but uses ``class`` directive as well.

So, the question is: what's the common policy for that? Should we
depend on packages that is used in ZCML or not? Or maybe ZCML-related
dependencies should be in some extras_require, say "zcml"?

Personally, I think, that extras_require way is a nice compromise for
that. Because many of packages can be used greatly without ZCML
configuration, but getting ZCML-reqired dependencies should be easy.

PS BTW, I think that zope.app.keyreference should be moved to plain
zope.keyreference, because it's really lightweight, useful outside of
zope and it doesn't depend on any zope.app package. What do you people
think?

-- 
WBR, Dan Korostelev


More information about the Zope-Dev mailing list