Concurrent programming in Python is very colorful (and confusing too). There's just too many options with each having it's pros and cons...

  • Thread based (threading module)
  • Process based ( multiprocessing module)
  • Co-routines (greenlet, gevent, eventlet)
  • Async (Twisted, Tornado)
  • Inter-process communication (subprocess module)
  • Message queue based (ØMQ, PyCom, mpi4py)
  • Others (Pyro, execnet, Parallel Python)

I know some of these and can write programs using them. But, I just don't feel I know them pretty well -- I can't decide what to use when. I don't know how to put these into perspective.

So, my simple question is -- what are some open source projects that employ these techniques so that I can see them in action in real program.

  • This is kind of question with no single correct answer, which doesn't fit the way StackExchange works. – vartec Feb 13 '12 at 10:26
  • Why can't there be correct answers? All I am asking is some open source projects that use concurrent programming in Python. That's it. – treecoder Feb 13 '12 at 11:47
  • 5
    A good question has to have one answer, that can be chosen as the most correct. You're asking for a list. – vartec Feb 13 '12 at 11:57
  • 1
    Please make your question more specific or ask one question on each area (or group of areas). – ChrisF Feb 13 '12 at 21:31

There is no real way to say which one is good which one is bad and which one to start with. This depends greatly on what you intend to do with this knowledge later and your current level of expertise.

Having said that I would probably start with Twisted, and Zope.

Not the answer you're looking for? Browse other questions tagged or ask your own question.