PyGTK lists made easy with Kiwi

Anyone who has done a decent amount of PyGTK programming will have written their own implementation of model+view mixed together, but the best one I have used is from Kiwi. If you have never used it, Kiwi is a framework that lessens some of the painful aspects of PyGTK development. In fact, it's so useful, let's call it a library.
Creating a pythonic view of a list of objects is easy. Let's have a look at some code:
from kiwi.ui.objectlist import ObjectList, Column
class Fruit(object):
def __init__(self, name, is_red):
self.name = name
self.is_red = is_red
fruits = ObjectList(
[
Column('name', title='Fruit Name'),
Column('is_red', title='Is the fruit red?',
data_type=bool, radio=True)
]
)
fruits.append(Fruit('Apple', True))
fruits.append(Fruit('Melon', False))
Yes it is really that easy. Add a bit of code to put it in a window:
import gtk
w = gtk.Window()
w.add(fruits)
w.show_all()
gtk.main()
And you are ready to go. If you try to achieve the same thing with pure PyGTK, you will write at least 10 times as much code.