ANNOUNCE: Kamaelia 0.1.2 Released

Michael Sparks michaels at
Wed Apr 13 17:16:20 CEST 2005

Kamaelia 0.1.2 has been released!

What is it?
Kamaelia is a collection of Axon components designed for network
protocol experimentation in a single threaded, select based environment.
Axon components are python generators are augmented by inbox and outbox
queues (lists) for communication in a communicating sequential processes
(CSP) like fashion.

The architecture is specifically designed to try and simplify the
process of designing and experimenting with new network protocols in
real environments.

This release contains components allowing the creation of TCP based
clients and servers, and includes a few (very) simple protocol handlers
to show usage.

Other components include vorbis decode and playback, asynchronous file
reading, and equivalents of "tee" and "strings". (Writing systems is
much like building unix pipelines, hence the need for similar tools)

The system is known to work under Linux, Mac OS X, Windows and a subset
works on Series 60 mobiles.

We've also started a weblog which will form an informal discussion forum
for issues generally surrounding kamaelia. (We might put things like
tutorials there for example)

What's new in version 0.1.2 ?

Additionally tested under Windows ME, 2000 and Mac OS X, along with
a subset tested on Series 60 mobiles and compatibility updates made
as a result. Ability to make simple multicast servers, clients and
transceivers added. Test harnesses for network servers tightened up.

Collection of examples added in the Examples directory:
   * Example 1 : Contains a simple "FortuneCookie" protocol system.
     Includes a server and client as part of a single system.

   * Example 2 : This has much the same structure, but rather than serve
     and display fortune cookies, serves (ogg vorbis) audio over a TCP
     connection to a client which decodes and plays back the audio.

   * Example 3 : Splits the structure in example 2 into a specific
     server application and a client application. This puts the two
     halves at odds, *competing* with each other for CPU time. Thus if
     both are run on the same (single CPU) system you will hear audio
     breakage. If run on separate machines (as client and server(!)) you
     won't hear this. In practice, part of the issue is that there is no
     buffering in the receiver.

   * Example 4 : Simple multicast based streaming system. Since it uses
     raw ogg vorbis with no resends and no codebook facility, you will
     need to *start all the client machines first* and *then* the
     server. Uses the multicast transceiver object exclusively.

   * Python 2.3 or higher recommended, though please do report any bugs
     with 2.2.
   * Axon (Any released version, 1.0.3 recommended, 1.0.4 when released)
   * vorbissimple (if you want to use the vorbis decode component)

(Both Axon and vorbissimple are separate parts of the Kamaelia project,
and available at the same download location - see below)

Kamaelia has been used successfully under both Linux, Windows and Mac OS
X. A subset of Kamaelia has been successfully tested on Series 60 Nokia
mobiles when used with the Axon SERIES 60 branch.

Where can I get it?
Web pages are here: (includes info on mailing lists)

ViewCVS access is available here:


Kamaelia is released under the Mozilla tri-license scheme
(MPL/GPL/LGPL). Specifically you may choose to accept either
the Mozilla Public License 1.1, the GNU General Public License
2.0 or the Lesser General Public License 2.1. Proprietary terms
and conditions available upon request.

Best Regards,

Michael.Sparks at    
British Broadcasting Corporation, Research and Development
Kingswood Warren, Surrey KT20 6NP

This message (and any attachments) may contain personal views
which are not the views of the BBC unless specifically stated.

More information about the Python-announce-list mailing list