[Zope-dev] Porting Zope to Python 3 Update
Stephan Richter
stephan.richter at gmail.com
Sat Mar 2 00:34:04 UTC 2013
Hi everyone,
as the week ends, I thought I might give a brief update on the Python 3
porting effort.
According to the "Unofficial Zope on Python 3 status page"[1], about 110
packages are ported to Python 3.3.
Hanno and I worked this week on updating the ZTK configuration files and I am
happy to announce that the ZTK passes all tests on Python 3.3! So once the
ZODB is ported, we can start on finalizing all releases, which would pave the
way for a ZTK 2.0 release.
Marius has made great efforts on finishing the port of ZODB. All the tests pass
now on the py3 branch for Python 2.6, 2.7 and 3.3. He has also removed all
resource warnings (he started at 400+). The final task will be to integrate
zodbpickle. zodbpickle needs some changes to properly enable the "noload()"
method. Luckily this work will entail rewriting the dump/load of persistent
ids to be more efficient and compatible with cPickle 2.7 pickles. (We are
working hard on making Python 2 pickles load on Python 3!)
On Wednesday, I was able to run a first Zope 3 (or should I say Bluebream?) app
on Python 3.3. Thanks to Andrey and Albertas for porting some of the complex
application packages. The sample application can be found in
``zope.paste``[2]. Note the short ZCML[3] and Paster[4] files. Thanks goes to
everyone who helped breaking unnecessary and circular dependencies to make
this work so well!
In the process of all of the above, we have also started moving all packages
that we are ported to Python 3 over to GitHub. I have also ported the core
packages for Zope 2/4 and Grok already.
So what's next? I am in the process of trying to port a rather large demo
application[5] to Python 3. We are about 20 packages (that we control) away
from that goal. Andrey is currently working on porting zope.testbrowser to
Python 3 by changing its internal implementation from mechanize to WebTest
(since it is too hard to deal with mechanize). Also, we will have a serious
look at ZEO.
I hope I got some of you interested in thinking about porting applications to
Python 3.
[1] http://zope3.pov.lt/py3/
[2] https://github.com/zopefoundation/zope.paste
[3]
https://github.com/zopefoundation/zope.paste/blob/master/src/zope/paste/test_app/app.zcml
[4]
https://github.com/zopefoundation/zope.paste/blob/master/src/zope/paste/test_app/app.ini
[5] https://github.com/CipherHealth/cipher.uibuilderdemo
Regards,
Stephan
--
Entrepreneur and Software Geek
Google me. "Zope Stephan Richter"
More information about the Zope-Dev
mailing list