About Python 3.x
Is the latest and greatest release of Python.
We are all very happy and excited about it and welcome the new stuff and changes it brings to us.
But: it is (intentionally) not compatible with code written for Python 2.x (like MoinMoin).
Moin and Python 3.x
We will support it as soon as possible - but please: don't hold your breath
There are some constraints that will keep us from supporting it in the near future:
libraries we depend on (see MoinMoin.support and our dependencies list) need to be available in a py3 compatible form
- widespread availability of py3 on misc. platforms used in the field
- moin development resources (we'll likely need more developers when doing the switch or less other todo)
The way to a py3 compatible moin
We will likely raise the requirements slowly (as we did in the past) to:
- 2.4 (moin 1.9, 2009)
2.5 (moin >= 1.9.4, 2012 - due to bundled dependencies)
- 2.7 (moin 2.0)
>=3.3 (moin version TBD, waiting for dependencies)
Maybe we can support a py2 and py3 compatible source for some time, using a library like six. If we require python 2.7 and >= 3.3, supporting both is not too much effort and the source is rather clean as both support the same string/unicode literals.
Python3 support of our dependencies
Dependency |
Python3 support |
Pygments |
yes |
blinker |
yes |
docutils |
yes |
markdown |
yes |
pytest |
yes |
sphinx |
yes |
whoosh |
yes |
Babel |
|
Jinja2 |
yes (now using same source, not 2to3) |
Flask |
not yet, maybe easy (depends on werkzeug, see flask sprint branch) |
Werkzeug |
not yet, difficult (see werkzeug sprint branch) |
flatland |
unknown |
Emeraldtree |
unknown |
xstatic* |
unknown (but small, so no problem) |
Extras |
Python3 support |
sqlalchemy |
yes |
PIL |
no (yes for pillow >= 2.0.0!) |
python-ldap |
|
python-openid |
See also: https://python3wos.appspot.com/ and http://py3ksupport.appspot.com/
