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

WBR, Dan Korostelev
Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to