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.6 (moin 2.0, 2011?)
- 2.7 (later)
- ... and finally to 3.x (later)
If we don't want to maintain a py2 and a py3 compatible moin for too long, maybe the best time for porting moin to py3 will be when we see that the end of Python 2.x is coming. We could do a last moin release for py2 then and require py3 for the release after that.
This will save us from doing lots of double work by maintaining a py2 and a py3 compatible moin and porting from 2 to 3 again and again.
Python3 support of our dependencies
Dependency |
Python3 support |
Pygments |
yes |
Jinja2 |
yes, experimental as of jinja2 2.3 |
Werkzeug |
no (not yet) |
Flask* |
no (depends on werkzeug) |
flatland |
unknown |
blinker |
yes |
Babel |
unknown |
Emeraldtree |
unknown |
docutils |
unknown |
pytest |
yes, pytest 2 |
sphinx |
unknown |
whoosh |
yes |
xstatic* |
unknown (but small, so no problem) |
Extras |
Python3 support |
PIL |
unknown |
python-ldap |
no |
python-openid |
unknown |
sqlalchemy |
yes, as of version 0.6 |
