.. _overview: ******** Overview ******** 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 (see :ref:`Challenges `). 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 (see code :ref:`examples `, :ref:`API reference`). gipc is used by, among others, `Quantopian's `_ `remote Python debugger `_, `Ajenti `_, `Chronology `_, `gipcrpc `_, `NetCall `_, `PokeAlarm `_, `Wishbone `_, and `GDriveFS `_. Are you successfully applying gipc in your project? That is always great to hear: please :ref:`drop me a line `! .. _platforms: 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. .. _installation: Download & installation ======================= The latest gipc release from PyPI can be downloaded and installed via `pip `_:: $ pip install gipc pip can also install the current development version of gipc:: $ pip install git+https://github.com/jgehrcke/gipc .. _versioning: Versioning ========== gipc obeys `semantic versioning `_.