My preferred programming language is Python. Many times, I have been faced with choices between different libraries to use with it. For example: wxPython vs PyQt vs Pygtk. Django vs pylons vs flask vs bottle. Py2exe vs cx_freeze vs bbfreeze vs PyInstaller.
A few years ago, we got a new major version: Python 3. By looking at the current state of py3 support in various projects, it helps with doing those choices. Not only by seeing what you can actually use with py3 today, but also by seeing which projects are active enough to support a major new Python version some 4 years after its release.
Gui toolkits:
wxPython does not yet have a py3 version. It is claimed to be on the way though: http://www.blog.pythonlibrary.org/2012/05/24/wxpython-for-python-3-is-almost-here/
Pygtk does not have a version, but they made a new interface with PyGObject:https://live.gnome.org/PyGObject. However, when I search for windows installers, I cannot find a version for py3.
PyQt however have both support and windows installers since some time. Thus this is my choice for gui toolkits.
Web frameworks:
Django, no support yet but on the way: https://www.djangoproject.com/weblog/2012/mar/13/py3k/
Pylons has a py3 version available, atleast partially: http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/whatsnew-1.3.html
Flask, no support yet but being worked on.
Bottle: Supports py3.
Thus my primary choice would be Bottle, and try to work with pylons if bottle is not enough.
Exe makers:
Py2exe has no py3 support yet, neither does bbfreeze nor PyInstaller.
cx_freeze has, so it is the winner in this category.
Conclusion
Of course the activity of different projects can change over time, but for the forseeable future I feel most comfortable with using the libraries decided here.
FYI: while wxPython is not fully ported to Python 3, it is my understanding that the standard widgets are done. It’s only the custom widgets that still need work. So you should give the Phoenix builds a try.
Cool, I will have a look at that.