gevent-cooperative child processes and inter-process communication.
What can gipc do for you?
With gipc (pronunciation “gipsy”) child processes and gevent can easily be used within one Python application. gipc provides gevent-aware multiprocessing.Process-based child processes and gevent-cooperative inter-process communication.
Isn’t this achievable with just gevent+multiprocessing?
Yes, but it requires care: On Unix, child process creation via Python’s multiprocessing package in the context of gevent might yield an undesired event loop state in the child and most likely breaks your application in some way. Furthermore, blocking method calls such as join() on a multiprocessing.Process or the send()/recv() methods on a multiprocessing.Connection are not gevent-cooperative. gipc overcomes these challenges for you in a straight-forward fashion and allows for simple integration of child processes in your application – on POSIX-compliant systems as well as on Windows.
The documentation with API details, installation instructions, requirements, and code examples can be found at http://gehrcke.de/gipc.
Your feedback is highly appreciated. You can contact me at firstname.lastname@example.org.