Saturday, September 30, 2006

Kamaelia 0.5.0 Released!

Kamaelia is an intuitive way to structure applications -- as a network of components which message each other. Much like Unix pipes implemented in Python. It was originally designed by BBC Research for rapid development of server software.

Here's a taster of what a Kamaelia application looks like: (built with the GUI)
And here's some equivalent Python code:
Pipeline(
ConsoleReader(eol=""),
SimpleHTTPClient(),
SimpleFileWriter("downloadedfile.txt"),
).run()

Those 5 lines of Python give you a console-based HTTP downloading program (like wget or curl but with less options) using existing components.
  • the console reader sends lines of text (URLs) the user enters to...
  • the HTTP client, which fetches the associated page. It then forwards on the page data to...
  • the file writer, which appends all messages it's sent to a file on disk.
It's as simple as that.

Version 0.5.0 is a major release - lots of functionality has been added from Google Summer of Code 2006. Key highlights of this release:
  • BitTorrent support (using the official BitTorrent client) - includes preliminary 'streaming over BitTorrent' support. Lets you integrate P2P in your own Kamaelia applications.

    Kamaelia BitTorrent client GUI

  • HTTP client and nascent seaside-style pure-python webserver
  • OpenGL (e.g. the checkers/draughts board on the right)OpenGL checkers example
  • Strong DVB (freeview TV) support on Linux - including the foundations of a PVR
  • Collaborative whiteboarding with audio (speex encoded) - draw and talk together over the internet
  • Visual composition of Kamaelia systems - create and link components on screen, see the code produced (the screenshot near the top of the article)

For more information see the Kamaelia website. You can get a copy of Kamaelia and Axon from Sourceforge, together with most of the dependencies in the mega bundle. If you have any problems or questions, just pop along to #kamaelia on irc.freenode.net. No Python experience is needed to get started!

Labels:

0 Comments:

Post a Comment

<< Home