Re: [pygtk] Python 3.0 plans



2007/8/29, Johan Dahlin <johan gnome org>:

Hi Johan and all,

in general I think it is a very good idea to port PyGTK to Python 3.x
as soon as possible. The api must not be stable with the fist alpha
release, but it need to be stable at least with one of the first
betas. We'll have to port a bunch of things: First of all the
bindings, but the examples and maybe the documentations too.

So here are some comments on your first post:


> 3.0 is scheduled for release in August 2008.
Twelve months could be very short. I think it might be quite good to
start with the first alpha to become stable with the betas as much as
we could.

> 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.
Does this have any consequences for the Python API? If so the
documentation should be upgraded or to be more precise, there might be
two version of the documentation.

> 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.
I agree.

> 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.
We definitely need such a tool. But I think it will be very tricky.
Some programs are using subclasses of subclasses of subclasses with a
bunch of overridden methods. That could be a little bit hard to
analyze... What about some kind of compatibility layer? Just a
thought...

> 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.
As I said above, I think it's a good idea to start with 3.x
integration early. GNOME will need it and PyGTK should then be able to
provide an (almost) stable api.

> 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.
This means that we'll have to maintain to branches of PyGTK. Of
course, that's the only solution ;-)

Regards,

Andi



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]