[Baypiggies] Web Crawler/Backend Engineer - San Francisco, CA

Keith Dart keith at dartworks.biz
Thu Feb 4 04:17:03 CET 2010


=== On Wed, 02/03, K. Richard Pixley wrote: ===
> What experience do folks have with event based frameworks in python?
> 
> I was thinking I was going to have to write my own, but I stumbled
> upon "circuits" today and then read through some of the "twisted" doc
> and was surprised to find that it closely mirrored my own thoughts.
> 
> Are there others?  Are any of the implementations definitive either 
> positively or negatively?
===

Twisted seems pretty good, and is fairly popular for that sort of thing.

Some time ago I wrote one, which is part of Pycopia. I still use that
one myself. I think I'm the only one... Although the powerdroid project
also uses it for a test and measurement application (which I also
wrote). 

If you're interested:

http://code.google.com/p/pycopia/

core async module:
http://code.google.com/p/pycopia/source/browse/trunk/core/pycopia/asyncio.py

Which is mostly a simplifying wrapper around the stock "poll" module.
It defines an interface that the rest of the framework follows. In
addition to that there is support for timers (the itimer module) that
work properly in an async environment and proper handling of EAGAIN
throughout the framework (requires its own socket module, for example).

One example of its use is the SNMP trap receiver:

http://code.google.com/p/pycopia/source/browse/trunk/SNMP/pycopia/SNMP/traps.py


For powerdroid:
http://code.google.com/p/powerdroid/

An async example that also uses the realtime clock to pace
measurements accurately:

http://code.google.com/p/powerdroid/source/browse/trunk/src/droid/measure/sequencer.py


Then there is (or was) Stackless Python...

-- Keith Dart

-- 
-- --------------------
Keith Dart
<keith at dartworks.biz>
=======================


More information about the Baypiggies mailing list