gevent-cooperative child processes and inter-process communication.
From 2012 to 2018 gipc’s home was at bitbucket.org/jgehrcke/gipc. Since 2018 development continues on GitHub.
gipc (pronunciation as in “gipsy”) provides reliable child process management and non-blocking inter-process communication in the context of gevent.
Direct usage of Python’s multiprocessing package in the context of a gevent-powered application is error-prone and may break the application in various subtle ways . With gipc, multiprocessing.Process-based child processes can safely be created anywhere within your gevent-powered application. The API of multiprocessing.Process objects is provided in a gevent-cooperative fashion. Also, gipc provides a pipe-based transport layer for gevent-cooperative inter-greenlet and inter-process communication. gipc is lightweight and easy to integrate.
Have a look at the individual programs in the examples directory.
Visit https://gehrcke.de/gipc for installation instructions, API docs, code examples, and in-depth information.
The current version of gipc works on CPython 2.7/3.4/3.5/3.6/3.7. It requires gevent 1.2 or 1.3 and supports both, Unix-like systems as well as Windows. On Unix-like systems, gipc also works with PyPy2.7 and PyPy3. gipc’s test suite is automatically executed on Linux, Darwin (macOS), and Windows.
Who uses it?
disco (Discord Python library)
Are you successfully using gipc in your project? Please drop me a line!
How to run the tests?
gipc’s tests are written for pytest. With the repository’s root directory being the current working directory you can run the tests like this:
$ pip install -r requirements-tests.txt $ cd test && pytest -vv --cov-report term --cov-report html --cov gipc
Contact & help
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.