[Stackless] announcing Concurrence Framework

Henk Punt henkpunt at gmail.com
Mon Jan 12 16:22:37 CET 2009


I would like to announce the availablility of the 'Concurrence
Framework'. (http://concurrence.googlecode.com)

Basically it is a library build on top of Stackless that enables the
easy creation of high performance network servers
(http servers, chat servers, comet servers etc etc).

It is similar in scope to the Twisted framework, but it uses a
Lightweight-processes-with-message-passing approach to concurrency as
opposed to Twisteds event-driven model.

I have created this framework out of frustration with Twisteds model.
After working for some years with Twisted it has become apparent to me
that the event-driven model for IO/socket programming although very
performant, quite easily leads to difficult to maintain program

Instead I would prefer to program in a 'blocking' style like you would
traditionally do with threads. At the same time I still would like to
the performance and lack of threading issues of event-driven IO.

This is what the Concurrence Framework provides... (trough Stackless
and libevent)

Most notably it already includes:
- a Socket API,
- a DBAPI 2.0 compatible implementation of a MySQL Driver
- an implementation of a HTTP1.1/WSGI compliant webserver.

Some components are implemented in Pyrex for speed (low level
interface to libevent, IO buffer interface, low-level MySQL stuff).

The code is currently quite usable, but some interfaces might still
change as I gather feedback from the community.

In the following weeks I will try to finalize the core documentation
and I will create a proper website to host it.

In the meantime, anyone interested can checkout the code from coogle code:

svn checkout http://concurrence.googlecode.com/svn/trunk/ concurrence

from there please follow the instructions in INSTALL.TXT (currently
Linux/MacOSX only).

Documentation can be found in doc/_build/html/index.html, but this is
a work in progress...
Examples used in the documentation can also be found in the examples directory.
The unittests in the test directory could also provide some guidance
on how to use the framework.

Issues/feedback can be mailed to me or you can add an issue on


Henk Punt

More information about the Stackless mailing list