## 1.2 Why Use Kiwi?

You should use Kiwi if you develop a graphical software application where Python is an option. Python is in my opinion the nicest of the popular high-level languages available today, and I honestly recommend all new applications be developed in a high-level language for many reasons; ease of maintenance, speed of implementation and security being the most important in my experience.

Kiwi implements a number of interesting tweaks to the standard MVC (or MV+C) architecture, which is the base of most application frameworks that exist out there, and a lot of research has gone into the framework and the widgets to make development as convenient as possible. It goes way beyond providing a basic `document plus view' schema, doing widget conversion, automatic signal connection, and adjusting behavior automatically to reduce drastically the amount of code needed to define the windows and dialogs for your application. Kiwi also includes native gazpacho support, which allows you to graphically specify (using Gazpacho, the UI designer) your user interfaces and use them seamlessly as part of the framework.

The code used in Kiwi has been developed with quite a lot of care, and though it is complex in parts (even crufty in a few spots), we consider it to be generally easy to understand and change, and you can hijack and customize the code to your need if you feel you don't want YAD (yet another dependency) for your application.

Kiwi is also being actively developed and supported as a building block in Stoq, and over the past years has grown to become very useful. We welcome feedback and have been very fast to respond to requests and bug reports, so you can be sure your application will be relying a library that is actively supported and that its authors have a continued interest in maintaining.