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/tes…
[4]
https://github.com/zopefoundation/zope.paste/blob/master/src/zope/paste/tes…
[5] https://github.com/CipherHealth/cipher.uibuilderdemo
Regards,
Stephan
--
Entrepreneur and Software Geek
Google me. "Zope Stephan Richter"
I noticed that the Zope2 git mirror does not appear to be updating. Looking at https://github.com/zopefoundation/Zope/commits/2.13 it doesn't have any commits after November 15, while subversion has more recent commits from Hanno and Maurits. Did an updating process break? Or did development switch to github but the subversion repository was not made readonly?
Wichert.
I've created a private subversion repository containing the
authors.txt file needed when converting subversion repository to git.
svn+ssh://svn.zope.org/repos/2git
It's a small repository that you can check out directly:
svn co svn+ssh://svn.zope.org/repos/2git
I've also included a small python script, svn2git.py. It:
- builds on the git svn plugin, which you must have installed.
- doesn't require that you have a local copy of the subversion repository.
- is more reliable than the ruby version
- It usually does it's work in a few minutes.
- It has run into difficulty with one project, ZEO, where it got into
some look and didn't finish.
This is the script I use and I recommend it for individual repositories.
Jim
--
Jim Fulton
http://www.linkedin.com/in/jimfulton
Jerky is better than bacon! http://zo.pe/Kqm