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)
With great pleasure I'd like to announce the release of Kamaelia
0.6.0 and Axon 1.6.0
For the short of time:
Overview: library/framework for concurrency using message passing components as the concurrency metaphor. Consists of a kernel (Axon) and collection of components (Kamaelia). Support for generator, thread & process based components. Targetted towards supporting maintenance, so /accessible/ to novices, but general purpose. Uses concurrency to make life simpler, not harder. Designed as a practical toolkit.
Download:
http://www.kamaelia.org/GetKamaelia.html
http://www.kamaelia.org/release/Kamaelia-0.6.0.tar.gz
sudo easy_install Kamaelia
Change Summary:
Major update, multicore, STM, easy concurrency, creation of Kamaelia.Apps namespace for reuse of applications, significant amounts of new functionality, major documentation improvements (including full offline reference docs), support for using Kamaelia components cleanly in non-Kamaelia apps. (ie a clean linear -> concurrent interface (Handle))
Release notes: http://www.kamaelia.org/ReleaseNotes060
Deltas: Kamaelia 0.5.0 -> 0.6.0, Axon 1.5 -> Axon 1.6.0
Last full release: October 2006
Mailing list: http://groups.google.com/group/kamaelia *CHANGED*
New website: http://www.kamaelia.org/Home.html
Reference: http://www.kamaelia.org/Components.html
Cookbook: http://www.kamaelia.org/Cookbook.html
Detailed Version...
Kamaelia is a library/framework for building systems from simple
components that talk to each other. This is primarily targetted at
aiding maintenance, but also assists in the creation of systems in the
first place. It also means you build naturally concurrent software. It's
intended to be powerful, but also accessible by any developer, including
novices.
We also find it makes it fun to build and work with concurrent
systems.
What sort of systems? Network servers, clients, desktop applications,
pygame based games, transcode systems and pipelines, digital TV systems,
spam eradicators, teaching tools, and a fair bit more :)
Whilst it comes out of a research project at BBC Research, it is
designed as a /practical/ toolkit. This clearly affects the set of
components we've created.
In order to do this, Kamaelia is divided into two main namespaces:
Axon - this provides the core component & concurrency framework. You use to build components which communicate with one another.
Kamaelia - this is the collection of
components that exist. The vast majority of these come from systems
created for a variety of purposes.
As of this release, a second major carve up of name spaces has been
added:
Kamaelia 0.6.0 represent a update over the 0.5.0 release, and should
mark the return to regular releases. (Work has been continuing
constantly since the 0.5.0 release, but numbers of releases
slowed)
Major to changes reflected in both Axon &
Kamaelia:
New home/website :-)
New getting started page:
Support for easy_install ...
... but with caveats that you don't get the docs, tools, or examples that way...
Large scale documentation improvements
Results of nightly documentation generation now included in the tar ball.
Core autogenerated docs:
Key changes to Axon - Kamaelia's core:
Bumped to version 1.6.0
Support for simplified software transactional memory
Experimental multicore support
Inheritable default values for component initialisers.
Added in "Handle" support. This provides two key pieces of functionality:
Simplified system shutdown. If you want to close down an entire Kamaelia based system rapidly from inside a component, just do this:
Support for WaitComplete extended, allowing better handling of more complex protocols which are not stateless in a debuggable fashion. It also simplifies working with Pygame, etc.
As well as unpausing a component when a message is delivered tothe component, it gets unpaused when a message is taken from its outbox. This allows better synchronous behaviour for rate limited in/out-boxes.
Key changes to Kamaelia itself:
In this release there is a slew of extra components and bug fixes, a
variety of new tools - from video shot change detection, through to SMTP
greylisting, but also perhaps the biggest extra: Multiprocess &
hence multicore support (experimental at this stage, but so far so good
:) )
OK, here's the dive into the summary of changes. (Full release notes here)
This represents significant amounts of new components and new
abilities added into Kamaelia.
Kamaelia/
Functionality in here represents code that can be standardised for
use in other apps if there's a desire to do so. Many of these components
are reuseable in their current form, though may have limitations.
Kamaelia/Apps/
A number of files which were deprecated in the last release have been
deleted from this release. (See full release notes for details)
Largely small improvements, changes to meta data about components,
often major documentation improvements - see full release notes for
details. Occasional bugfixes. Largest overall change to existing files
is improvement of documentation, REsT fixes, and addition of metadata to
files.
Kamaelia/
Kamaelia has been used successfully under both Linux, Windows and Mac
OS X. (mostly developed/tested under Linux & Mac OS X)
Download:
http://www.kamaelia.org/GetKamaelia.html
http://www.kamaelia.org/release/Kamaelia-0.6.0.tar.gz
Docs:
http://www.kamaelia.org/Docs/Axon/Axon.html
http://www.kamaelia.org/Components.html
http://www.kamaelia.org/Cookbook.html
http://www.kamaelia.org/MiniAxon.html
Presentations:
Get involved: (all locations changed since last major release)
http://www.kamaelia.org/Developers/
http://groups.google.com/group/kamaelia
http://code.google.com/p/kamaelia/
Kamaelia is released under the Mozilla tri-license scheme
(MPL1.1/GPL2.0/LGPL2.1). See http://www.kamaelia.org/Licensing
Finally, many thanks to everyone who's contributed to this release,
especially including: Matt Hammond, Sylvain Hellegouarch, Jinna Lei,
Jason Baker, Dave King, Patrick Thomson, Ryan Lothian
As always, Feedback, improvements, corrections & suggestions as
usual, very welcome - via the mailing list :)
Michael, October 2008