HTTPS clone URL
Subversion checkout URL
Python 3 Porting
- 2015 Unconference Barcamp Shindig
- Bof ideas
- Chris McDonough to join Django and Alex Gaynor to join Pyramid (April Fools Joke)
- Companies and organizations that use Pyramid
- Documentation Roadmap
- Google summer of code 2013
- GSoC 2012 Ideas
- Pdb tutorial
- Pre RuPy Conference Python Sprint in Budapest, Hungary, October 2013
- Projects that use Pyramid
- Pycon 2012
- Pycon 2012 pyweb
- PyCon 2014 Sprint ideas
- PyCon 2015 Talk Submissions
- Pycon IE 2013 Pylons Sprint
- Pyramid 2 brainstorm
- Pyramid and Pylons Project Summer Sprint 2013 Wrap Up
- Pyramid Summer Sprint in Halle (DE) August 2013
- Python 3 Porting
- Readthedocs support
- Sprint Ideas
- Talk Proposals for PyCon 2015
Clone this wiki locally
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.
- Paste (won't port, will remove dependency; see Glue and Pyramid 2 Brainstorm)
- PasteScript (won't port, will replace; see also Glue and Pyramid 2 Brainstorm).
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.
- pyramid_debugtoolbar (https://github.com/Pylons/pyramid_debugtoolbar)
- ZODB (http://svn.zope.org/ZODB/trunk/; likely won't be ported by us, too large, just maybe keep an eye on other efforts; for example https://mail.zope.org/pipermail/zodb-dev/2011-September/014363.html)
- Chameleon (already worked under Py2.5 and Py3.2)
- Mako (already worked under Py2.4-Py3.2)
- MarkupSafe (already worked under Py2.4-Py3.2)
- translationstring (merged jayd3e's py3 branch to trunk, released as 0.4)
- venusian (jbohman ported, released as 1.0a1)
- zope.interface (ported as of 3.6.0+)
- repoze.lru (jbohman ported, released as 0.4)
- zope.deprecation (chrism ported, released as 3.5.0)
- WebTest (ported by gawel, released as 1.3.1)
- WebOb (Joe Dallago: GSOC 2011 project, Chris McDonough picked up porting work, docs and testing work still remains, but webob trunk at https://github.com/Pylons/webob has 3.2 support, no release yet save for zipballs such as the one at https://github.com/Pylons/webob/zipball/master)
- PasteDeploy (already ported by agronholm, available in 1.5.0)
- transaction (http://svn.zope.org/transaction/branches/chrism-py3/)
- zope.sqlalchemy (http://svn.zope.org/zope.sqlalchemy/branches/chrism-py3/)
- pyramid_exclog (version 0.5 released to PyPI, thanks to Joe Dallago).
- pyramid_tm (version 0.3, released to PyPI)
- zope.component (jbohman factored out "zope.registry" and placed it in zope SVN; also see https://mail.zope.org/pipermail/zope-dev/2011-August/043340.html, this code was later moved to zope.interface in version 3.8.0, removed z.component dep in Pyramid 1.3)
- zope.configuration (removed core dependency on this in Pyramid 1.2a5+; still dep'ed on by pyramid_zcml)
- zope.i18nmessageid (transitive dep of zope.configuration; removed z.config dep in Pyramid 1.2a5+)
- zope.schema (transitive dep of zope.configuration; removed z.config dep in Pyramid 1.2a5+)
- zope.event (transitive dep of zope.component, removed zope.component dep in Pyramid 1.3)
Related Zope package info: http://permalink.gmane.org/gmane.comp.web.zope.devel/26373