[Twisted-Python] [python-tulip] which async framework?

Luca Sbardella luca.sbardella at gmail.com
Wed Mar 12 03:41:57 MDT 2014


On 12 March 2014 07:28, Chris Withers <chris at simplistix.co.uk> wrote:
>
>
> So, I see python now has a plethora of async frameworks and I need to try
> and pick one to use from:
>
> - asyncio/tulip
> - tornado
> - twisted
>
> From my side, I'm looking to experimentally build a network testing tool
> that will need to speak a fair few protocols, both classic tcp and
> multicast-based, and have a web api living on top of it that most likely
> will have a websocket for pumping data to the browser. It'll also need to
> write out JUnit-compatible xml results, but that's like the easiest bit ;-)
>
> I'd like to be able to serve the rest of the web api using a pyramid wsgi
> app if possible, and I'd like to be able to write the things that process
> requests in and validation out in a synchronous fashion, most likely
> spinning off a thread for each one.
>

Tornado is a web-framework, if you are going to use pyramid for handling
wsgi requests asyncio or twisted are probably a better solution. They can
handle your synchronous wsgi responses via the event loop executor (a
thread pool).


>
> The protocols are all financial (do we really not have a pure-python FIX
> library?!) but none are likely to have existing python implementations.
>

Both asyncio and twisted offer an extensive, somehow similar, API for
writing protocols, TCP and UDP.


> How should I pick between the options? What would people recommend and why?
>
>
If you are using python 3.3 I would strongly recommend asyncio, it has a
clean and unintrusive API and, importantly, it is part of the standard
library (in python 3.4).
If you are using python 2 I would still recommend it, the trollius project
has backported the library (although there are some important differences).
Pulsar, is a server side library I maintain which is now fully based on
asyncio, works on python 3 & 2, and does more or less what you are looking
for.
Of course, twisted is more tested and has a longer history, but if you are
forward looking asyncio might be a better bet.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://twistedmatrix.com/pipermail/twisted-python/attachments/20140312/861bc31a/attachment.html>


More information about the Twisted-Python mailing list