Posted on: 05/22/2007 08:26 PM
Kiwi is a PyGTK framework for building graphical applications loosely based on MVC Model-View-Controller (MVC) and Allen Holub's Visual proxy. Rhink of Kiwi as a high-level, object-oriented layer built on PyGTK. 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 directly.
Grab the latest sources from: http://www.async.com.br/projects/kiwi/download/kiwi-1.9.15.tar.gz
What's new since 1.9.14?
- New simple DB API layer to integrate with SQLObject
- Add SearchContainer/SearchGladeDelegate, simple and flexible
widgets for search and display results from a database.
- Entry mask bugfix to workaround PyGObject bug
- Improved Glade-3 integration, ObjectList should work.
- Sort column fix (Ali, fixes #3032)
- Pixbuf column None fix (Ali, fixes #3310)
- Add ObjectList.sort_by_attribute (Ali, fixes #3311)
- Add ObjectList.grab_focus (Ali, fixes #3326)
- Add expander property to Column (Ali, #3336)
- Don't allow the user to move outside of fields in
the entry masks (Ronaldo, fixes #3333)
- At least one radio column should be True (Ali, #3339)
- Make sure GObject.new works for ObjectList (#3343)
- Don't allow year before 1900 ( fixes #3364)
- Generate pydoctor documentation instead of epydoc.
- Many other bug fixes
* 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
* 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 and Glade-3 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
* 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.6 http://gazpacho.sicem.biz/
The support for Glade 3 is still experimental and to install it you need
to run a separate script in the glade3-plugin directory.
Kiwi provides API documentation generated by pydoctor, it can be found at http://www.async.com.br/projects/kiwi/api/
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
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, 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
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/