Zope 3 Using Python 2.5

This page will try to summarize the project idea "Zope 3 Using Python 2.5" for Google Summer of Code 2007. Visit Summer of Code 2007 page for mode ideas about projects.

-- Baiju M <baiju.m.mail AT gmail.com>

Why and How?

First read the follow ups of this mail: http://mail.zope.org/pipermail/zope3-dev/2006-September/020569.html

A very high level overview of the work by Jim is like this

I suspect that even Zope 3's security system will need a fair bit of work:

  - We need to rework or replace the small bit of RestrictedPython we use, and

  - If new Python type slots have been added, we'll need to reflect them in zope.proxy.

You can skip the Zope 2 part for this project. And remember what Jim Fulton said: "it will take a fair bit of work to get to it" .

Tres Seaver wrote in another reply

The hardest bit is the change to the way the compiler works:
RestrictedPython is completely incompatible with the new AST-based strategy."

See this comment by Jim Fulton

As we move toward splitting things up into eggs, people can help out by
getting things working on an egg-by-egg basis.

Now all packages in zope namespace is eggified, so you can do one by one! You can also read some interesting thoughts in the same mail .

File-system-based templates are trusted in Zope 3. (I wonder if file-system-based
templates are still untrusted in Zope 2.) Still official
releases have to be backward compatible and thus have to support TTW
templates.

I very much hope that will switch to egg-based development and distribution
over the coming months.  If we do that, it might be possible and would
be interesting for people to create alternate distributions focused on
on different needs.  It would be interesting to have distributions that
didn't support untrusted Python code.

And there are some small bit of code to be fixed

Warning: 'with' will become a reserved keyword in Python 2.6

Current Status

Module Implementation Status

The project is currently completed and the final code uploaded can be obtained from the following link. http://google-summer-of-code-2007-zope.googlecode.com/files/Nikhil_N.tar.gz

Notes

  1. Script to find modified API functions: http://svn.effbot.python-hosting.com/stuff/sandbox/python/ssizecheck.py
  2. Using ssize_t as the index type: http://www.python.org/dev/peps/pep-0353/
  3. Porting to Python 2.5 : http://docs.python.org/whatsnew/porting.html
  4. src/zope/documenttemplate/ustr.py:18 , See thread: http://mail.python.org/pipermail/python-list/2006-December/418934.html
  5. src/zope/app/security/globalmodules.zcml:226 'gopherlib' module is deprecated in Python 2.5

... --nadako, Tue, 04 Mar 2008 18:31:33 +0000 reply

What's the status of this project? The ModuleImplementationStatus page says that all zope.* and zope.app.* modules were ported on 2.5. Are those changes committed/released? Are there any plans on this?

... --Nikhil N, Tue, 04 Mar 2008 18:59:18 +0000 reply

All the changes said in the module implementation status are committed to the Zope's repository. The future plan on this is to port the zope2 also to Python 2.5. Due to some personal reason I will not be able to continue this work for some time. Any one interested can step in and I will help as my time knowledge permits.

-Nikhil



( 97 subscribers )