Skip to main content

gevent-cooperative child processes and inter-process communication.

Project description

Changelog | gipc @ PyPI | gipc @ GitHub

Overview

gipc enables reliable child process management and non-blocking inter-process communication in software that uses gevent.

Using Python’s multiprocessing package in the context of a codebase that also uses gevent is error-prone and may break the application in various subtle ways. With gipc, multiprocessing.Process-based child processes can again safely be created in your gevent-powered application. The API of multiprocessing.Process objects is provided in a gevent-cooperative way. Also, gipc provides a pipe-based transport layer for gevent-cooperative inter-greenlet and inter-process communication. gipc is lightweight and easy to integrate.

From 2012 to 2018, gipc’s home was at bitbucket.org/jgehrcke/gipc. Since then development has continued on GitHub.

Code examples

Individual example programs can be found in the examples directory.

Documentation

Visit https://gehrcke.de/gipc for installation instructions, API docs, code examples, and in-depth information.

Platform support

The current version of gipc works on CPython 3.8 through 3.12. It supports gevent versions 1.5 and newer and supports both, Unix-like systems as well as Windows. On Linux and macOS, gipc also works with PyPy.

gipc’s continuous integration (CI) pipeline automatically executes a wide range of tests on Linux, Darwin (macOS), and Windows.

Who uses it?

Are you 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

Your feedback and questions are highly appreciated. Please contact me via mail at jgehrcke@googlemail.com or use the GitHub issue tracker.

Author & license

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gipc-1.6.0.tar.gz (66.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page