File: index.rst

package info (click to toggle)
kaa-base 0.6.0%2Bsvn4596-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch, wheezy
  • size: 2,348 kB
  • ctags: 3,068
  • sloc: python: 11,094; ansic: 1,862; makefile: 74
file content (86 lines) | stat: -rw-r--r-- 2,747 bytes parent folder | download
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`