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
Previously Dan Korostelev wrote:
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"?
There is certainly precendence for that (zope.component and zope.i18n iirc).
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.
+1 Those zcml dependencies make it a lot more painful to use zope.* packages in other environments. Wichert. -- Wichert Akkerman <wichert@wiggy.net> It is simple to make things. http://www.wiggy.net/ It is hard to make things simple.
On Friday 12 December 2008, Wichert Akkerman wrote:
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.
+1
Those zcml dependencies make it a lot more painful to use zope.* packages in other environments.
+1 from me as well. Regards, Stephan -- Stephan Richter Web Software Design, Development and Training Google me. "Zope Stephan Richter"
participants (3)
-
Dan Korostelev -
Stephan Richter -
Wichert Akkerman