The Pyramid master branch runs on Python 3.2 (as of September 25, 2011). It does not require a "translation" (via 2to3 or 3to2) but instead uses a single codebase that run under 2 and 3.
Currently neither scaffolding ("paster create") or paster commands like "paster pshell" or "paster pview" work. Also, some scaffolding dependencies such as zope.sqlalchemy and the transaction package are not yet ported, or, if they are, haven't had a general release yet. So it's not really ready for general public usage yet. However, it can be used by the curious hacker under Python 3.2, like so:
from pyramid.view import view_config from pyramid.config import Configurator from pyramid.response import Response from wsgiref.simple_server import make_server @view_config(route_name='test_page') def test_page(request): return Response('Hello World') if __name__ == '__main__': config = Configurator() config.add_route('test_page', '/test') config.scan('__main__') httpd = make_server('', 8000, config.make_wsgi_app()) httpd.serve_forever()
You'll need to install the WebOb master by hand into your virtualenv for this to work properly (https://github.com/Pylons/webob ).
Below are more details.
PasteScript has not been ported, nor have its dependencies. We likely will need to replace PasteScript rather than port it, unless someone is brave enough to do it in the meantime. Here's a list of the resulting packages that don't work that we will need to replace.
The fact that these dependencies are missing makes it necessary to create a Pyramid app "by hand" (ala https://docs.pylonsproject.org/docs/pyramid_quick_tutorial.html) instead of using "paster create" to create a new project.
Related Zope package info: http://permalink.gmane.org/gmane.comp.web.zope.devel/26373
Review documentation with an eye on the WebOb (1.2) and Pyramid (1.3) changelogs.
Remove pyramid_zodb scaffold and put into a separate package (ZODB wont work under Python 3).
Unrelated to porting but may want to take the opportunity to do it anyway; put Chameleon and Mako bindings into separately installable packages and have scaffolding rely on them instead of the core.
Figure out which default WSGI server to use instead of