Kaa is an umbrella project comprising a set of Python modules, mostly inclined toward solving problems in the domain of multimedia.
kaa.base is an LGPL-licensed generic Python application framework, providing the foundation for other modules within Kaa, and can be used in any type of project, from small event-driven tools, to larger, complex applications.
The Kaa Application Framework includes a main loop facility with an API for signals and callables, timers, thread and subprocess management, local IO and sockets (with TLS support), inter-process communication, and much more.
Kaa also – and perhaps most importantly – provides a rich, practically magical API for asynchronous programming. Threads and coroutines in combination with InProgress objects, which are used extensively throughout Kaa, allow you to implement complex state machines responding to asynchronous events in very compact, readable code.
The easiest and recommended way to install kaa.base is using pip (available as the python-pip package in Ubuntu and Fedora):
sudo pip install --upgrade kaa-base
Or, if you prefer to install kaa.base as an egg using setuptools (package python-setuptools on Ubuntu and Fedora):
sudo easy_install -U kaa-base
Your distribution might already have kaa.base included in its standard repositories, but be aware that these are almost certainly very out of date:
# For Ubuntu and Debian sudo apt-get install python-kaa-base # For Fedora yum install python-kaa-base
The most recent in-development version can be obtained via subversion:
svn co svn://svn.freevo.org/kaa/trunk/base kaa-base cd kaa-base sudo python setup.py install
Finally, source packages are available on SourceForge.