kaa.base — The Kaa Application Framework — kaa.base v0.6.0 documentation

### Navigation

- index
- next |
- kaa.base v0.6.0 documentation »

# kaa.base — The Kaa Application Framework

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 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 mainloop facility with an API for signals and callbacks, 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.

Contents:

- The Core Framework
  - Signals and Callbacks
  - The Main Loop
  - Integration With Other Frameworks
  - Timer
  - I/O Channels
  - Socket I/O
  - Sub-Process I/O

- Asynchronous Programming
  - InProgress Objects
  - Coroutines
  - Thread Support
  - Generators

- Remote Procedure Calls with kaa.rpc
  - Expose Functions
  - Calling Remote Functions

TODO: kaa.config, kaa.db, kaa.distribution, kaa.input, kaa.ioctl, kaa.net.mdns, kaa.net.tls, kaa.net.url, kaa.strutils, kaa.utils, kaa.weakref, kaa.xmlutils. The logger manipulation in kaa.logger should also be documented as automatic function. Also missing are the extensions for inotify and shm, kaa.signals, kaa.Event, and kaa.Eventhandler

# Indices and tables

- Index
- Module Index
- Search Page

### Navigation

- index
- next |
- kaa.base v0.6.0 documentation »