1. Jan-Philip Gehrcke
  2. gipc


gipc / README

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.

Releases are available at `PyPI <http://pypi.python.org/pypi/gipc>`_.
The development version can be received from the mercurial repository at
`bitbucket <https://bitbucket.org/jgehrcke/gipc>`_.

Author & license
``gipc`` is written and maintained by `Jan-Philip Gehrcke <http://gehrcke.de>`_
and is licensed under the 
`Apache License 2.0 <http://www.apache.org/licenses/LICENSE-2.0.txt>`_.

Your feedback is highly appreciated. You can contact me at