[pygtk] ANNOUNCE: kiwi 1.9.11

Johan Dahlin jdahlin at async.com.br
Mon Oct 9 23:51:41 WST 2006

Kiwi is a PyGTK framework for building graphical applications loosely
based on MVC Model-View-Controller (MVC) and Allen Holub's Visual proxy
[1]. Think of Kiwi as a high-level, object-oriented layer built on

Its design is based on real-world experience using PyGTK to develop
large desktop applications, which use many concepts common to most
graphical applications: multiple windows and dialogs, forms, data
persistence, lists and high-level classes that support domain objects


Grab the latest sources from:


and the win32 installer from:


What's new since 1.9.10?
    - Much improved entry mask handling (#2838, Ronaldo)
    - libglade integration bugfixes
    - Workaround for PyGTK 2.10 bug
    - Add right-click to ObjectList (#2817, Ronaldo)
    - raise ValueError instead of AttributeError (#1998, Sidnei)


* An MVC-derived framework of classes:
  * Views, which represent the graphical display
  * Controllers, which handles user interaction with the widgets
    in a View.
  * Delegates, combines a View and a Controller.
  * Models, which are special mixins for your domain objects
  * Proxies, special types of Delegate designed to implement forms

* Validation: Kiwi supports validation on different levels:
  data type validation and verification on the Model/Proxy level,
  View validation and hooks for visually displaying validation state.

* ObjectList widget, which provides a higher level abstraction of
  GtkTreeView and all its classes (GtkTreeModel, GtkTreeViewColumn,
  GtkCellRenderer) with hooks to easily integrate into the
  Kiwi Framework.

* Mask support: You can set a mask on entries to force the input to
  follow a certain standard, such as zip code, social security, ip address

* Gazpacho integration for most (non-deprecated) interactive
  widgets with attributes for handling validation and proxy

* UI Testing framework
  Features a recorder and a player. The recorder allows you to record
  different tasks, a script will be saved which will reproduce the
  actions you made in the interface.

* Kiwi Tasklets
  Tasklet is a small coroutines framework written by Gustavo Carneiro,
  it was previously known as gtasklets.

* PyGTK utilities, to make it easier to add signals and properties to
  your objects.

* i18n translation utilities, to help you translate PyGTK applications,
  currently depends on gettext and intltool.

* and many other things!


Python 2.3 or higher (2.4 recommended)  http://www.python.org/
PyGTK 2.6.0 or higher (2.8 recommended) http://www.pygtk.org/
gazpacho 0.6.5 (svn recommenced)        http://gazpacho.sicem.biz/

Kiwi provides API documentation generated by epydoc, it can be found at


Included in the tarball are also a number of examples, which serves as a
good starting point. Keep in mind that most of them require gazpacho to
be installed.

Christian Robottom Reis: Original author and design
Lorenzo Gil Sanchez: PyGTK 2.x port

Also thanks to the following people which has contributed features
or bug reports:
Ali Afshar, Gustavo Barbieri, Gustavo Carneiro, David M Cook,
Daniel Saran R. da Cunha, Patrick O'Brien, Ronaldo Maia, Evandro Vale
Miquelito, Henrique Romano, Sidnei da Silva, Aaron Spike


Homepage     http://www.async.com.br/projects/kiwi/
Download     http://www.async.com.br/projects/kiwi/download/
Repository   http://svn.async.com.br/cgi-bin/viewcvs.cgi/kiwi/
Report a bug http://bugs.async.com.br/enter_bug.cgi?product=Kiwi
API docs     http://www.async.com.br/projects/kiwi/api/
Open bugs    http://tinyurl.com/cyrms
Mail. list   http://www.async.com.br/mailman/listinfo/kiwi/

[1] http://en.wikipedia.org/wiki/Model-view-controller
[2] http://tinyurl.com/2ccch
[3] http://epydoc.sourceforge.net/

Johan Dahlin <jdahlin at async.com.br>
Async Open Source

More information about the pygtk mailing list