August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)

Kamaelia Release Notes

0.4.0

Summary

Kamaelia 0.4.0 is a consolidation, documentation and optimisation enhanced release.Whilst there are a wide variety of new components, existing functionality has been consolidated, and is now in use in a handful of (beta) production systems.

Kamaelia 0.4.0 requires the use of Axon 1.5 (released at the same time as this release).

Also, virtually all components now have highly detailed documentation inside their sourcefiles. A (large) subset of this is available here:

The examples have been duplicated onto the website, and are here:

Our tutorial for helping getting started is here:

This has now been battle tested by a good few dozen people, and we feel is a good introduction to Kamaelia's approach, and others have also stated they find it a good way of understanding generators too. (even if they're not interested in Kamaelia)

Notable New Components

New Examples

A collaborative whiteboard "sketcher" which is both a server to other whiteboards and/or a client to other whiteboards. (Due to changes, when not in use CPU usage for these is as close to zero as it can be for any software) This is also a good example of usage of the backplane component.

This application is particularly nice to use in conjunction with a tablet PC!

An overview of the sketcher can be found on our systems page:

Examples for using the tools for timeshifting including:

Tuning into a TV channel on Freeview and recording it to disk

Dumping a DVB multiplex transport stream

Demultiplexing a prestored DVB multiplex

A system for grabbing a TV channel and it's now & next information, such that this can allow the programmes to be captured and transcoding as individual programmes for watching later.

This is the core of the BBC Macro system (an internal prototype) that can be seen here:

An overview of the architecture can be found here:

Essentially, this allows you to build your own space efficient PVR.

General overview of other large scale changes

Massively improved documentation across the board (no file left untouched). This is all largely in the form of pydoc based documentation, a fair chunk of it is available at

However the documentation in those files goes further than that, including many, many more examples than are even at:

Large scale removal of cruft and change over to use pipelines and graphlines where suitable. This is most noticable inside the examples.

Code quality of a number of pieces of code has been improved:

Pygame related changes

These two changes combined allow the system to become quiescent, where possible.

Detailed Overview of other changes

Initial release, largely rewritten or includes new components:

Changed to take advantage of Axon changes allowing quiescent behaviour:

Kamaelia/Internet/ConnectedSocketAdapter.py

Kamaelia/Internet/Selector.py

Kamaelia/Chassis/ConnectedServer.py

Kamaelia/Internet/TCPClient.py

Kamaelia/Internet/TCPServer.py

Kamaelia/UI/PygameDisplay.py

Kamaelia/UI/Pygame/Button.py

Kamaelia/Util/Introspector.py

New/Changed functionality to existing components:

Namespace cleanup:

Michael, June 2006