[pygtk] ANNOUNCE: kiwi 1.9.20

Fábio Morbec fabio at async.com.br
Fri Feb 1 21:01:03 WST 2008

Kiwi is a high-level, object-oriented user interface framework based
on PyGTK. If you think programming PyGTK applications should be
faster, easier and more Pythonic, Kiwi is the right choice!

Kiwi borrows concepts from the Model-View-Controller pattern (MVC),
along with Allen Holub's Visual Proxy [1]. Its design has been
heavily informed by real-world experience using PyGTK to develop
large desktop applications, and support is included for all major UI
patterns, including multiple windows and dialogs, forms, lists and
direct integration with persistent domain objects.


Grab the latest sources from:


What's new since 1.9.19?
  - Italian Translation (Sandro Bonazolla, #3582).
  - Added suport for Storm (Ali Afshar, #3408).
  - Column:: Added new property column. (Johan Dahlin)
  - ProxySlaveDelegate:: added. (Brad Crittenden).
  - SignalBroker:: After was broken, all signals were connected using
    after instead of on by default (Johan Dahlin, based on patch by Arek


* 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.

* An 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, ip address

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

* UI Test 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
Johan Dahlin: Author and Maintainer
Lorenzo Gil Sanchez: PyGTK 2.x port

Also thanks to the following people which has contributed features
or bug reports:
Ali Afshar, Henrique Romano, Daniel Saran R. da Cunha, Evandro Vale
Miquelito, Gustavo Barbieri, Gustavo Carneiro, Ronaldo Maia,
Benoit Myard, Patrick O'Brien, Goedson Teixeira Paixao, Sidnei da Silva,
Marco Antonio Porcho Souza, Maurício B. C. Vieira, Sandro Bonazolla,
Brad Crittenden, Arek Korbik.


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

More information about the pygtk mailing list