ANNOUNCE: kiwi 1.9.9

Johan Dahlin jdahlin at
Wed Aug 23 21:31:51 CEST 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:

What's new since 1.9.8?

    - KiwiEntry improvements (Johan, Patrick, Ronaldo)
    - Win32 installation fixes for Gazpacho & Kiwi (Johan)
    - DateEntry fixes (Ronaldo, Johan)
    - DateEntry win32 support (Aaron Spike)
    - Logging improvements (Johan)
    - Datatypes refactoring and improved Gazpacho integration (Ronaldo)
    - Add UI tests (Johan)
    - Bugs fixes:
      #2535: entry needs exceptions that don't fail (Patrick O'Brien)
      #2545: DateEntry calendar popup doesn't hide correctly (Ronaldo)
      #2562: Falha na exibição de valores do tipo "currency"
            (Lincoln, Ronaldo)
      #2610: [Patch] Remove unnecessary on_column__clicked handler
            (Dave Cook)
      #2611: Adding a sortable keyword to objectlist (Dave Cook)
      #2612: [Patch] objectlist.refresh() fix and optimization (Dave Cook)
      #2632: Problems with datatype currency when the language ...
             (Lincoln, Johan)
      #2654: Decimal precision is removed when pickling (Ronaldo)
      #2656: ComboEntry's clear() is missing (Ronaldo)
      #2681: Kiwi doesn't respect system colors after widget ...
             (Johan, Gustavo Barberi)
      #2682: Mandatory fields fails to validade if they state ...
             (Gustavo, Ronaldo)
      #2685: Make it able to turn fading of invalid stateness to ...
             (Ali, Johan)
      #2697: Add a pixbuf data type (Johan, Ronaldo)
      #2698: Add a ProxyButton (Johan, Henrique)
      #2720: DateEntry breaks when set invalid. (Ali)
      #2721: Missing locale specific date formatting information ...
            (Aaron Spike, Johan)
      #2758: Datatype converters should provide a get_mask method. (Ronaldo)


* 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 suport: 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)
PyGTK 2.6.0 or higher (2.8 recommended)
gazpacho 0.6.5 (svn recommenced)

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


Report a bug
API docs
Open bugs
Mail. list


Johan Dahlin <jdahlin at>
Async Open Source

More information about the Python-announce-list mailing list