Axon 1.1.0 has been released! What is it? =========== Axon is a collection of pure python modules from the Kamaelia project which allow you to build concurrent systems in a compositional manner using communicating python generators. Components are python generators are augmented by inbox and outbox queues (lists) for communication in a CSP like fashion. Version 1.1.0 also adds in the facility for writing components using threads as well as using generators.
Put another way this allows you to build complex systems easily out of small concurrent components in a fashion similar to unix pipelines, except rather than being limited to just stdin/stdout you can have whatever inputs/outputs you desire. (The defaults are inbox/outbox, control/signal) Axon works under Linux, Mac OS X, Windows and a subset has been ported to Series 60 mobiles. Documentation is largely generated directly from the test suite output. Also, a presentation on Kamaelia (which may help put Axon in context) was give at ACCU/Python UK conference in April this year. The slides are available here: * http://kamaelia.sourceforge.net/Kamaelia-ACCU-20050422.pdf This is due to be released as a BBC R&D White Paper shortly. What's Kamaelia? (for context :-) ================ Kamaelia is a project that aims to allow the BBC and others to create and test open protocols for large scale streaming. Substantial subsystems include a core concurrency subsystem and the beginnings of an RTSP/RTP streaming server. Existing functionality in Kamaelia that uses Axon includes a generic TCP & Multicast client and server framework that allows protocols to be trivially created, a number of example protocols, and an Ogg Vorbis decoding subsystem for client site testing (libvorbissimple). What's new in Axon 1.1.0? ========================= This release features support for components to be threads as well as python generators has been added, allowing the integration of arbitrary code blocking or non-blocking. Other changes include microprocesses (and hence components) can now be run without a scheduler in standalone mode and the debug subsystem has been reactivated system wide. Threaded components: * Inherit from threadedcomponent rather than Component * Rather than have a generator method called "main" you have a main thread method called "run". (This will change to "main" at some later point in time) * May be blocking. (This was the primary reason for creating them - Nokia Series 60 sockets cannot be used in a nonblocking manner, requiring the use of threads to avoid blocking) Platforms ========= Axon has been used successfully under both Linux, Windows and Mac OS X. A separate release branch exists for Series 60 Nokia mobiles. Where can I get it? =================== Axon is a sub-project of the BBC R&D Kamaelia project, which means Axon is downloadable from http://sourceforge.net/projects/kamaelia/ Web pages are here: http://kamaelia.sourceforge.net/Docs/Axon.html http://kamaelia.sourceforge.net/ ;(includes info on mailing lists) ViewCVS access is available here: http://cvs.sourceforge.net/viewcvs.py/kamaelia/ Licensing ========= Kamaelia (and hence Axon) 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. -- [EMAIL PROTECTED], http://kamaelia.sourceforge.net/ 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 state -- http://mail.python.org/mailman/listinfo/python-list