ANNOUNCE: pygtk-1.99.8



James Henstridge <james daa com au> wrote:

> I have uploaded a pygtk-1.99.8 tarball, which will work with the 2.0 
> release of gtk+.  It is still not quite release quality, but it is 
> getting there.

Very nice. I like the interface much better than the 1.2 one. However, I'm
still worried about backwards compatibility. I have quite a lot of pygtk
1.2 programs (sketch, pythontheater, pysol, etc), and I've written many of
my own which are now installed on other people's computers.

I'm hoping that when people install the 2.0 bindings, these old programs
can continue working, in the same way that C programs can. However, the
new bindings use the same module name ('gtk'), so I don't see how this can
work (the two are incompatible).

Eg, this program:

	import gtk
	w = gtk.GtkWindow()
	...
	
is correct if the 1.2 bindings are installed, but incorrect once 2.0 is
installed. Whereas, this:

	import gtk
	w = gtk.Window()
	...

is correct if the 2.0 version is installed, but not if 1.2 is being used!

This leaves us (the ROX project) with several possibilities (none of which
I really like):

- Stay with 1.2 for a year or so. This means we don't get the nice new 2.0
  look or any of the new features. After a while, people will start
  complaining because they've upgraded and can't run our programs any
  more.

- Move to 2.0. However, we can't really ask people to install the 2.0
  bindings, since that will break all their old programs. So, noone will
  be able to use the programs for a long time.

- Make our own distribution of pygtk using the module name 'gtk2', and
  write our programs to use that. This is good in the short term, but it
  means more installing work for users who have also installed the
  official package.

- Switch to C or another language binding and recommend users stick with
  the 1.2 python bindings. This is the cleanest approach, but I rather
  like python and it would be a shame to lose it.

Also, both of the first two options leave us open to everything breaking
again when 3.0 comes out.

How are the other bindings authors dealing with this? Also, what are
packagers planning to do? I can't imagine Debian is going to allow an
incompatible upgrade, for example?


-- 
Thomas Leonard			http://rox.sourceforge.net
tal00r ecs soton ac uk		tal197 users sourceforge net



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