Re: Using python + pygtk in Desktop modules (was Re: Revisitingthe Gnome Bindings)
- From: "Murray Cumming" <murrayc murrayc com>
- To: "Gustavo J. A. M. Carneiro" <gjc inescporto pt>
- Cc: Sean Middleditch <elanthis awesomeplay com>, desktop-devel-list gnome org
- Subject: Re: Using python + pygtk in Desktop modules (was Re: Revisitingthe Gnome Bindings)
- Date: Tue, 28 Sep 2004 09:27:54 +0200 (CEST)
> You can expect minor API changes between major
> versions, of course. That's why the modules dir changes between major
> releases. That's also why to some people it looks like python is
> breaking the API, while it just had minor API changes but is forcing you
> to recompile every module for the new version.
That sounds like breaking both the API (which == the ABI for Python, I
think) to me.
This is a serious objection, so let's make clear what actually happens:
If I develop and install my app with python 2.2, and then install python
2.3, might my app stop working?
I think I've seen this kind of problem on Red Hat Linux with Red Hat's
system-config-* control panels. Users don't like seeing python errors.
> Also note that between python 2.2 final and 2.3 final 19 months
> passed. That's enought time for 3 GNOME major releases! I think that's
> stable enough for me.
The GNOME Platform, on the other hand, _never_ knowingly breaks API or
ABI. We've worked out a system of parallel-installation for the cases
where we really need to change ABI, so that applications don't break.
>> It's as if the GTK ABI were to break with each minor release version.
> No, it's not. Python does not break ABI with minor releases.
So, we are talking about major Python releases, but that's still different
to what GNOME normally does.
> Even if Python doesn't break ABI after another 19 months, pygtk can
> usually compensate for any differences. It's just like glib
> compensating for API changes in glibc.
Surely, glibc doesn't have a lot of API changes, for obvious reasons.
> Changes in definitions compiled
> with which defines (_GNU_SOURCE et al), for example.
>> When a Python app or lib can be installed on a system running Python 2.3
>> and still work when the machine is upgraded to 2.4, then it would become
>> a much more reliable and serious environment to rely on in GNOME.
> Your distribution should pick a python version for you and stick with
> it. PyGTK does not switch to a newer Python version unless it is
> already in widespread deployment.
murrayc murrayc com
] [Thread Prev