April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.

Project Tasks

Specific things that would be useful. If you want to work on these, please start a /Developers/Projects/ProjectTaskPage with a basic outline of what, why, how, when, who, where, etc. The key things out of those really are the who, what, where.

TCP Server improvements


* Calling stop on the scheduler causes it to call stop on all the scheduled microprocesses

* The stop on TCP Server & CSA causes respective sockets to be shutdown cleanly


* CSA needs to respect the fact that when it forwards data it make get a NoSpaceInbox

Interesting thought:

Platform compatibility (Windows, Mac):




Axon core:

Improve box destruction to handle when a box is still linked to another

Fix WaitComplete microprocess closures so the substitute microprocess self.pause() actually pauses

Make CAT fully threadsafe

Tidying-up and Quick wins:

Topology visualiser & Introspection:

Change topology visualiser to support "on demand" screen update rather than continuous

Support "no render" layout update (has to an extent already).

Change topology visualiser to support hierarchical display/etc

Rewrite topology viewer to abstract from rendering mechanism (so rendering components could be plugged in for opengl, pygame etc)

Rewrite topology physics in pyrex for serious speed boost :-) (thereby making it practical for visualising 'real' systems, eg. whiteboard, which contains 61 components when running stand alone)

Whiteboard ideas:

Protocols, codecs, integration:

User authentication modules

Clean integration with twisted for reuse of twisted.protocols

DNS client (would be useful in several places)

Gstreamer integration

A better way to do his (Ryan's) HTML parser in Kamaelia:

AIM Support

Graphics framework support (pygame, OpenGL, etc):

Integrate PGU (Phil's pyGame Utils)

Use integrated PGU for buttons drop down lists, etc

Simple window manager support components -

Styleable HTML layout engine for the window manager

Flesh out pygame related tools (perhaps independently of PGU)

Resolve MH.PygameApp issues,

Create joined spaces (2D and 3D) using Pygame & OpenGL code

Adding visual ordering of components to pygame: eg. a component specifies a "layer number" to appear on

Adding better event routing for pygame & opengl - eg. only top-most component receives a click event

Random project ideas

Write 3D game using Kamaelia

Automate release process.

A major python web framework, (eg turbogears or django) with a kamaelia based web server and sample bi-directional "ajax" chat application

RTP client and server implementation - potential internal bbc requirement

DVB, PVRs timeshifting, etc:

Relevant to HTTP, SMTP systems: