[ANN] Spasmoidal 0.1.0 - Asynchronous I/O with Python 2.5 Extended Generators

Doug.Fort at gmail.com Doug.Fort at gmail.com
Fri Sep 29 15:49:16 CEST 2006

"...from little towns with strange names like Smegma, Spasmodic, Frog,
and the far-flung Isles of Langerhans".

Someone on SourceForge has a project that includes the name
'spasmodic' so I'm using the name spasmoidal. But this code will
always be spasmodic to me.

Asynchronous I/O (and other tasks) proceeding in fits and spasms
The SpasmodicEngine selects tasks (spasmoids) from a (heapqueue based)
priority queue. The tasks are Python 2.5 extended generators (some
call them coroutines: PEP 342). The engine calls task.send() with an
appropriate argument. One of the library of tasks is Pollster.
Pollster calls poll() with for tasks that are waiting I/O. Tasks that
are ready for I/O are fed to the priority queue.

Spasmodic provides an efficient way to manage a large number of
sockets and/or files. Other processing works well too, if it can be
subdivided into brief spasms.


Doug Fort, Consulting Programmer

More information about the Python-announce-list mailing list