Python 3.0 plans
- From: Johan Dahlin <johan gnome org>
- To: "desktop-devel-list gnome org" <desktop-devel-list gnome org>
- Cc: PyGTK <pygtk daa com au>
- Subject: Python 3.0 plans
- Date: Wed, 29 Aug 2007 12:37:56 -0300
Greetings
I'd like to ask for input on how the Python 3.0 transition is going to
affect GNOME.
Python 3.0 is the current development focus of the Python community.
It is different from the old 2.x series in the sense that it will not be
backwards compatible with the old python releases. A program written for
Python 2.x will not run under Python 3.x unless it restricts itself to a
tiny tiny subset which is really not practical (for instance, unicode can't
be used).
The first alpha release of Python 3.0 is going to be released in the next
couple of weeks, this is a good opportunity to discuss this before the
transition actually starts. 3.0 is scheduled for release in August 2008.
All the python bindings needs to be ported over to the new C Python API.
We'd like to take this opportunity to clean up a bit of the cruft we
collected during the years of strict backwards compatibility.
For instance it's not possible to significantly optimize the loading
of the gtk+ bindings without breaking the API, both OLPC and Nokia has been
running into this problem.
What I'd like to propose is a to branch of pygobject and pygtk to a
python-3 branch where backwards compatibly can be broken.
Transition will be done by a tool similar to 2to3.py[1] used by Python which
will help automate the process of converting a program using the old api to
the new.
When this branch is mature enough I'll propose it for inclusion in the GNOME
bindings release, which will be an addition, not a replacement for the old
bindings.
The current version of the python bindings will be maintained as long as
there is interest in the Python 2.x platform. But maintenance will
eventually cease as the general focus moves over to Python 3.x.
Parallel installability is not a direct issue for us, since it's already
solved at the python level. The current bindings will not compile under
3.x and the new ones will not compile under 2.x.
Thoughts?
Johan
[1]: http://svn.python.org/view/sandbox/trunk/2to3/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]