1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
kaa.base --- The Kaa Application Framework
==========================================
What are Kaa and kaa.base?
--------------------------
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 :ref:`main loop facility <notifier>`
with an API for :ref:`signals <signals>` and :ref:`callables <callables>`,
:ref:`timers <timer>`, :ref:`thread <threads>` and :ref:`subprocess management
<subprocess>`, local :ref:`IO <io>` and :ref:`sockets <socket>` (with TLS
support), inter-process communication, and much more.
Kaa also -- and perhaps most importantly -- provides a rich, practically
magical API for :ref:`asynchronous programming <async>`. Threads and
coroutines in combination with :ref:`InProgress <inprogress>` objects,
which are used extensively throughout Kaa, allow you to implement complex state
machines responding to asynchronous events in very compact, readable code.
Where do I get kaa.base?
------------------------
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
<http://sourceforge.net/projects/freevo/files/kaa-base/>`_.
Library Documentation
---------------------
.. toctree::
:maxdepth: 2
core/index
async/index
rpc
internal/index
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
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
|