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)

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

Shutdown:

* 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


Throttling

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

Interesting thought:

Platform compatibility (Windows, Mac):

Windows

Mac

General

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: