Rationale -------- Like the previous proposal by Tres Seaver related to zope.component, this is a step that will help port crucial Pyramid dependencies to Python3:
https://github.com/Pylons/pyramid/wiki/Python-3-Porting At the end of this year's US PyCon, Lennart Regebro described the zope.configuration porting effort as mostly dependent on the porting of zope.schema (see http://permalink.gmane.org/gmane.comp.web.zope.devel/26373). In the meantime, Pyramid doesn't actually require ZCML or zope.schema; it only uses the parts of zope.configuration related to actions, conflict resolution, and the "ConfigurationMachine" itself. These bits have proven useful outside the context of ZCML and other schema-driven configuration. An Pyramid add-on named pyramid_zcml still has a dependency on zope.component as it provides ZCML analogues of built-in Pyramid configuration directives. We will likely end up eventually helping to port zope.schema to Python 3 as a result. But splitting the zope.configuration package in two parts seems to make sense regardless, as the Pyramid core just doesn't need the extra zope.schema dependency, it just "comes along for the ride". I have tackled this issue by factoring zope.configuration into two pieces: - I have moved the bits that don't rely on ZCML or zope.schema into a new 'zope.configmachine' package, now hosted in the Zope SVN repository: http://svn.zope.org/zope.configmachine/trunk Notes on the new package: - The tests in this package are incomplete. I intend to provide full coverage once discussion concludes, as well as some documentation for the package as a standalone entity. - The branch is not yet Python 3 compatible. It's trivial to make it so, once discussion concludes that the configuration/configmachine division is acceptable. - I have made zope.configuration which depends on zope.configmachine in a branch: http://svn.zope.org/zope.configuration/branches/chrism-configmachine This branch leaves BBB imports intact. Proposal -------- I would like to propose the following changes to the ZTK trunk, after test coverage and documentation for zope.configmachine land: - Land 'zope.configmachine' as a full ZTK package, with its own Launchpad artifacts, etc. This step may also involve moving bugs from zope.configuration to zope.configmachine. - Merge the 'chrism-configmachine' branch of zope.configuration to the trunk, and bump its major version accordingly. - Cut releases of both packages. _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )