[Interface-dev] Advisor Metaclasses and Alternate Pythons (including Py3)

glyph at divmod.com glyph at divmod.com
Fri Mar 27 17:02:05 EDT 2009


The way implements() works right now is to use an advisor metaclass.

Unfortunately, advisor metaclasses don't work on py3k, and *can't* work 
unless something changes, since class construction works differently (it 
doesn't use the dict's __metaclass__ key any more).

Stack-walking to implement the implements() declaration is also 
problematic on alternate Python implementations, especially ironpython.

I'd like to start working on a branch to eliminate the need for advisor 
metaclasses in ZI itself.  I have a few different ideas about how 
implements() might be made to work without _getframe, but I'm not sure 
which owe would be best.

Jim mentioned to me that maybe I should get an SVN account to do this. 
I could also try experimenting with bzr-svn if that's not actually a 
good idea for some reason though ;).


More information about the Interface-dev mailing list