Changelog | gipc @ PyPI | gipc @ GitHub
Travis CI status (master branch):
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.
- pyethapp
- disco (Discord Python library)
- bliss
- esdocs
- Wishbone
- Quantopian’s remote Python debugger
- Ajenti
- HoneyBadgerBFT
- iDigBio
- Chronology
- GDriveFS
- NetCall
- SiteScan
- PokeAlarm
- gipcrpc
- etcd-gevent
Are you successfully using gipc in your project? Please drop me a line!
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
Your feedback and questions are highly appreciated. Please contact me via mail at jgehrcke@googlemail.com or use the GitHub issue tracker.
gipc is written and maintained by Jan-Philip Gehrcke. It is licensed under the MIT license (see LICENSE file).
I am thankful for all contributions (bug reports, code, great questions) from:
- Guy Rozendorn
- John Ricklefs
- Heungsub Lee
- Alex Besogonov
- Jonathan Kamens
- Akhil Acharya
- John Porter
- James Addison
- Oliver Margetts
- ... and others