ExtensionClass plans (was Re: [ZODB-Dev] Another ExtensionClass
incompatibility: __pow__())
Jim Fulton
jim@zope.com
Sat, 01 Dec 2001 12:18:40 -0500
Greg Ward wrote:
>
> Sigh. In addition to ignoring __r{add,sub,mul,div}__() methods,
> ExtensionClass also calls __pow__() differently.
(snip)
> So what is the future of ExtensionClass, anyways?
I intend that Python 2.2 (or maybe 2.3) will make it irrelevent.
> Are the little
> incompatibility bugs between classic Python classes and ExtensionClass
> ever going to be fixed?
Probably not by us. Patches are gratefully accepted.
We are going to keep supporting it for a while at it's
current level to support projects other than ZODB
that require it.
> Or has ExtensionClass been abandoned in favour
> of a future ZODB based on new-style Python 2.2 classes?
This is my plan. :)
> If so, when
> will this future ZODB become reality?
I'm glad you asked. As part of our Zope 3 prototyping, we've
begun moving toward a next generation of ZODB. We currently
have an experimental ZODB that:
- Doesn't require ExtensionClass
- Does depend on new-style Python classes
- Separates the Persistence and Transaction frameworks
- Uses weak references in the cache
- Uses a pure-python Persistent implementation (hence no BTrees).
We will be creaing a C Persistent base class.
All the fun is currently happening on the Zope-3x-branch branch
of the Zope3 checkout. You can see the relevent ZODB pieces at:
http://cvs.zope.org/Zope3/lib/python/Persistence/?only_with_tag=Zope-3x-branch
http://cvs.zope.org/Zope3/lib/python/Transaction/?only_with_tag=Zope-3x-branch
http://cvs.zope.org/Zope3/lib/python/ZODB/?only_with_tag=Zope-3x-branch
Of course all of this is highly speculative at this point.
Stay tuned. ;)
Jim
--
Jim Fulton mailto:jim@zope.com Python Powered!
CTO (888) 344-4332 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org