Skip to main content

gevent-cooperative child processes and inter-process communication.

Project description

Changelog | gipc @ PyPI | gipc @ GitHub

Travis CI status (master branch): TRAVISCIBADGE

From 2012 to 2018 gipc’s home was at bitbucket.org/jgehrcke/gipc. Since 2018 development continues on GitHub.

Overview

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.

Code examples

Have a look at the individual programs 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 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?

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

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.0.0.tar.gz (29.1 kB view details)

Uploaded Source

File details

Details for the file gipc-1.0.0.tar.gz.

File metadata

  • Download URL: gipc-1.0.0.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for gipc-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ff2f855f759e1e1b27fce1087874aabd9f019394e8d65cddd656d62dcd1097de
MD5 f76f3f9e8af7e03760bd7ab36f3006ec
BLAKE2b-256 3cbb8b226a1b25774e110f7698a14f5892fbd33bfe8d29ef357b2be4efd0b0c0

See more details on using hashes here.

Supported by

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