[ANNOUNCE] Kamaelia 0.5.0 Released - now enhanced by Summer of Code :-)

M

Michael

Hi!


Kamaelia 0.5.0 marks a major stepping point for the Kamaelia project.

It means we officially have coverage over almost all the core areas we want
in version 1.0, with some substantial and useful subsystems in the form of
network delivery (tcp, udp, multicast servers), and interactive capabilties
(tk, pygame, opengl integration), and video (eg Freeview, DVB-T, Dirac)
along with a visual tool for bolting these systems together visually,
whilst making it more /natural/ to work with concurrency.

It also marks the first release where the number of external contributors
to the release outweighs developers from inside the BBC, meaning this
release really does belong to the Google Summer of Code students who also
worked on it.

They've done some really cool interesting stuff, and that's really the
focus of this release, and written their own announcement, so in Ryan's
words from his blog, (http://tinyurl.com/o9te3):

"""
Kamaelia 0.5.0 Released!

Kamaelia is an intuitive way to structure applications -- essentially
as a network of components which talk to each other. This model gives
natural concurrency (each component can run separately) and makes
building software very visual.

It's an open-source BBC Research project, originally designed for rapid
development of server software. If you've used Unix pipes, Kamaelia is
like those implemented in Python. If you want to know more about the
theory read the one-page introduction [2] on the Kamaelia website.

[2] http://kamaelia.sourceforge.net/Introduction.html

Here's a taster of what a Kamaelia application looks like:
(built with the GUI)
[ Screenshot:

http://photos1.blogger.com/blogger2/7070/3507/1600/composer-filedownloader.png
]

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
ConsoleReader sends lines of text (URLs) the user enters to the HTTP client,
which fetches the associated page. It then forwards on its contents to the
file writer. It's as simple as that.

You can also write your own components from scratch and use them with
the existing ones.

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, can be used as a P2P
backend in your own Kamaelia applications.
[ screenshot in blog entry ]

* HTTP client and nascent seaside-style pure-python webserver

* OpenGL (e.g. the checkers/draughts board on the right)
http://photos1.blogger.com/blogger2/7070/3507/400/thfcheckers.0.png
{{{ http://kamaelia.sourceforge.net/t/Dirac3D.png }}}

* Strong DVB (freeview TV) support on Linux - including the foundations
of a PVR. {{{cf http://kamaelia.sourceforge.net/KamaeliaMacro.html}}}

* Collaborative whiteboarding with audio (speex encoded) - draw and
talk together over the internet. {{{To be featured in next month's
Linux Format}}}

* Enhanced 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[3] website. You can get a copy of
Kamaelia
and Axon from Sourceforge, together with most of the dependencies[4] in the
mega
bundle. If you have any problems or questions, just pop along to #kamaelia
on irc.freenode.net.

[3] http://kamaelia.sourceforge.net/Home
[4]
http://sourceforge.net/project/showfiles.php?group_id=122494&package_id=183774&release_id=451251Hi!


Kamaelia 0.5.0 marks a major stepping point for the Kamaelia project.

It means we officially have coverage over almost all the core areas we want
in version 1.0, with some substantial and useful subsystems in the form of
network delivery (tcp, udp, multicast servers), and interactive capabilties
(tk, pygame, opengl integration), and video (eg Freeview, DVB-T, Dirac)
along with a visual tool for bolting these systems together visually,
whilst making it more /natural/ to work with concurrency.

This release is massively enhanced by the work produced by Google Summmer
of Code students who worked with us over the summer.

They've done some really cool interesting stuff, and that's really the
focus of this release, and written their own announcement, so in Ryan's
words from his blog, (http://tinyurl.com/o9te3):

"""
Kamaelia 0.5.0 Released!

Kamaelia is an intuitive way to structure applications -- essentially
as a network of components which talk to each other. This model gives
natural concurrency (each component can run separately) and makes
building software very visual.

It's an open-source BBC Research project, originally designed for rapid
development of server software. If you've used Unix pipes, Kamaelia is
like those implemented in Python. If you want to know more about the
theory read the one-page introduction [2] on the Kamaelia website.

[2] http://kamaelia.sourceforge.net/Introduction.html

Here's a taster of what a Kamaelia application looks like:
(built with the GUI)
[ Screenshot:

http://photos1.blogger.com/blogger2/7070/3507/1600/composer-filedownloader.png
]

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
ConsoleReader sends lines of text (URLs) the user enters to the HTTP client,
which fetches the associated page. It then forwards on its contents to the
file writer. It's as simple as that.

You can also write your own components from scratch and use them with
the existing ones.

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, can be used as a P2P
backend in your own Kamaelia applications.
[ screenshot in blog entry ]

* HTTP client and nascent seaside-style pure-python webserver

* OpenGL (e.g. the checkers/draughts board on the right)
http://photos1.blogger.com/blogger2/7070/3507/400/thfcheckers.0.png
{{{ http://kamaelia.sourceforge.net/t/Dirac3D.png }}}

* Strong DVB (freeview TV) support on Linux - including the foundations
of a PVR. {{{cf http://kamaelia.sourceforge.net/KamaeliaMacro.html}}}

* Collaborative whiteboarding with audio (speex encoded) - draw and
talk together over the internet. {{{To be featured in next month's
Linux Format}}}

* Enhanced 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[3] website. You can get a copy of
Kamaelia
and Axon from Sourceforge, together with most of the dependencies[4] in the
mega
bundle. If you have any problems or questions, just pop along to #kamaelia
on irc.freenode.net.

[3] http://kamaelia.sourceforge.net/Home
[4]
http://sourceforge.net/project/showfiles.php?group_id=122494&package_id=183774&release_id=451251

""" -- {{{couple of added comments above added in like this}}}

Other:
* Axon has also been updated to 1.5.1 with enhancements to threaded
components.

* The current new MegaBundle version including all the dependencies
is now 1.4.0! Download here: http://tinyurl.com/lfhxq

* Kamaelia is licensed under the MPL/GPL/LGPL tri-license

NOTE: The Megabundle is the recommended way of getting hold of Kamaelia,
since given Kamaelia can act as glue between systems, it's useful to know
which versions we're testing with should you encounter problems so and the
detailed set of changes can be found here: http://tinyurl.com/nf5gk

Kamaelia is heavily based on python generators (they're not scary,
really [5]), but also support threaded components and is designed to
work with any version of python since python 2.2a1, and is not limited
to Python 2.5.
[5] http://kamaelia.sourceforge.net/MiniAxon/

Have fun!


Michael
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,480
Members
44,900
Latest member
Nell636132

Latest Threads

Top