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 _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )