[Spread-users] python 3

Will Pierce jwillp at gmail.com
Fri Dec 31 17:07:36 EST 2010


I'm currently working on implementing an asynchronous pure-Python client for
spread, with spread 4.x support and true non-blocking behavior.  It's still
in early alpha, and I don't yet have python3 support, but I do expect to
have Python3 support in the next couple of months (now that I'm using
Fedora14 with python3).  The primary goal of the project is to develop a
pure python (non-binary) implementation that is python2.4+ compatible, and
which supports an asynchronous/non-blocking pythonic API for receiving and
sending messages and events over a spread connection.  The protocol is
implemented in a state machine that sits on top of the asyncore/asynchat
standard library, with various ways of using the API.  I have some example
code for a distributed heartbeat client and server-pool implementation in
the trunk/test/examples_hb_(server|client).py files.  One really interesting
thing about that example code is that it implements a self-balancing server
pool using a hash along with group memberlist information to determine which
server should process a client's heartbeat message (linearly and dynamically
scalable).

The code is here: http://code.google.com/p/asyncspread/

<http://code.google.com/p/asyncspread/>It's still in alpha state, and the
API is still evolving, but if you want to contribute to the project, you're
more than welcome to try it out and help out if you'd like.

I put a lot of notes up on the 'Updates' page.  It's still a work in
progress, but I think it'll be easier for you to adapt for python3 than
anything else out there at the moment.  There are some tarball downloads
available. When it's a little more polished and the API stablizes more, I
will post it up to pypi.python.org so it's easier to get and install.

If anyone else is interested in helping out, please let me know.

-Will

--
J. Will Pierce // e: willp at nuclei.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.spread.org/pipermail/spread-users/attachments/20101231/04da2116/attachment.html 


More information about the Spread-users mailing list