[Python-Dev] ExtensionClass plans (was Re: [ZODB-Dev] Another ExtensionClass incompatibility: __pow__())

Jim Fulton jim@zope.com
Sat, 01 Dec 2001 12:22:34 -0500

Greg Ward wrote:
> Sigh.  In addition to ignoring __r{add,sub,mul,div}__() methods,
> ExtensionClass also calls __pow__() differently.


> 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:




Of course all of this is highly speculative at this point.

Stay tuned. ;)


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