gipc


Namegipc JSON
Version 1.6.0 PyPI version JSON
download
home_pagehttps://gehrcke.de/gipc
Summarygevent-cooperative child processes and inter-process communication.
upload_time2023-12-20 16:52:28
maintainer
docs_urlNone
authorDr. Jan-Philip Gehrcke
requires_python
license
keywords gevent multiprocessing ipc child processes
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            `Changelog <https://github.com/jgehrcke/gipc/blob/master/CHANGELOG.rst>`_ |
`gipc @ PyPI <https://pypi.python.org/pypi/gipc>`_ |
`gipc @ GitHub <https://github.com/jgehrcke/gipc>`_

Overview
========
gipc enables reliable child process management
and non-blocking inter-process communication in software that uses `gevent
<https://github.com/gevent/gevent>`_.

Using Python's `multiprocessing package
<https://docs.python.org/3/library/multiprocessing.html>`_ in the context of a
codebase that also uses gevent is error-prone and may break the application in
various `subtle ways
<https://gehrcke.de/gipc/#what-are-the-challenges-and-what-is-gipc-s-solution>`_.
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
<https://bitbucket.org/jgehrcke/gipc>`_. Since then development has continued on
GitHub.

Code examples
=============

Individual example programs can be found in the `examples
<https://github.com/jgehrcke/gipc/blob/master/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?
============

- `MXCuBE <https://mxcube.github.io/mxcube/>`_ (Macromolecular Xtallography Customized Beamline Environment)
- `AIT-Core <https://github.com/NASA-AMMOS/AIT-Core>`_ (AMMOS Instrument Toolkit, developed for a number of ISS missions)
- `pyethapp <https://github.com/ethereum/pyethapp>`_
- `disco <https://github.com/b1naryth1ef/disco>`_ (Discord Python library)
- `bliss <https://bliss.gitlab-pages.esrf.fr/bliss/index.html>`_
- `esdocs <https://github.com/jaddison/esdocs>`_
- `Wishbone <https://wishbone.readthedocs.io>`_
- `Quantopian’s remote Python debugger <https://github.com/quantopian/qdb>`_
- `Ajenti <http://ajenti.org/>`_
- `HoneyBadgerBFT <https://github.com/initc3/HoneyBadgerBFT-Python>`_
- `iDigBio <https://github.com/iDigBio/idb-backend>`_
- `Chronology <http://chronology.github.io>`_
- `GDriveFS <https://github.com/dsoprea/GDriveFS>`_
- `NetCall <https://github.com/aglyzov/netcall>`_
- `SiteScan <https://github.com/jasonsheh/SiteScan>`_
- `PokeAlarm <https://github.com/PokeAlarm/PokeAlarm>`_
- `gipcrpc <https://github.com/studio-ousia/gipcrpc>`_
- `etcd-gevent <https://github.com/wjsi/etcd-gevent>`_

Are you using gipc in your project? Please drop me a line!


How to run the tests?
=====================
gipc's tests are written for `pytest <http://pytest.org>`_. 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
<https://github.com/jgehrcke/gipc/issues>`_.


Author & license
================
gipc is written and maintained by `Jan-Philip Gehrcke <https://gehrcke.de>`_.
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

            

Raw data

            {
    "_id": null,
    "home_page": "https://gehrcke.de/gipc",
    "name": "gipc",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "gevent,multiprocessing,ipc,child processes",
    "author": "Dr. Jan-Philip Gehrcke",
    "author_email": "jgehrcke@googlemail.com",
    "download_url": "https://files.pythonhosted.org/packages/b6/7b/4bc41ee432a4651ab18395eb6f84000b2aff82bd763c013af443945a94ad/gipc-1.6.0.tar.gz",
    "platform": "POSIX",
    "description": "`Changelog <https://github.com/jgehrcke/gipc/blob/master/CHANGELOG.rst>`_ |\n`gipc @ PyPI <https://pypi.python.org/pypi/gipc>`_ |\n`gipc @ GitHub <https://github.com/jgehrcke/gipc>`_\n\nOverview\n========\ngipc enables reliable child process management\nand non-blocking inter-process communication in software that uses `gevent\n<https://github.com/gevent/gevent>`_.\n\nUsing Python's `multiprocessing package\n<https://docs.python.org/3/library/multiprocessing.html>`_ in the context of a\ncodebase that also uses gevent is error-prone and may break the application in\nvarious `subtle ways\n<https://gehrcke.de/gipc/#what-are-the-challenges-and-what-is-gipc-s-solution>`_.\nWith gipc, ``multiprocessing.Process``-based child processes can again safely be\ncreated in your gevent-powered application. The API of\n``multiprocessing.Process`` objects is provided in a gevent-cooperative way.\nAlso, gipc provides a pipe-based transport layer for gevent-cooperative\ninter-greenlet and inter-process communication. gipc is lightweight and easy to\nintegrate.\n\nFrom 2012 to 2018, gipc's home was at `bitbucket.org/jgehrcke/gipc\n<https://bitbucket.org/jgehrcke/gipc>`_. Since then development has continued on\nGitHub.\n\nCode examples\n=============\n\nIndividual example programs can be found in the `examples\n<https://github.com/jgehrcke/gipc/blob/master/examples>`_ directory.\n\n\n\nDocumentation\n=============\nVisit https://gehrcke.de/gipc for installation instructions, API docs, code\nexamples, and in-depth information.\n\n\nPlatform support\n================\n\nThe current version of gipc works on CPython 3.8 through 3.12. It supports\ngevent versions 1.5 and newer and supports both, Unix-like systems as well as\nWindows. On Linux and macOS, gipc also works with PyPy.\n\ngipc's continuous integration (CI) pipeline automatically executes a wide range\nof tests on Linux, Darwin (macOS), and Windows.\n\n\nWho uses it?\n============\n\n- `MXCuBE <https://mxcube.github.io/mxcube/>`_ (Macromolecular Xtallography Customized Beamline Environment)\n- `AIT-Core <https://github.com/NASA-AMMOS/AIT-Core>`_ (AMMOS Instrument Toolkit, developed for a number of ISS missions)\n- `pyethapp <https://github.com/ethereum/pyethapp>`_\n- `disco <https://github.com/b1naryth1ef/disco>`_ (Discord Python library)\n- `bliss <https://bliss.gitlab-pages.esrf.fr/bliss/index.html>`_\n- `esdocs <https://github.com/jaddison/esdocs>`_\n- `Wishbone <https://wishbone.readthedocs.io>`_\n- `Quantopian\u2019s remote Python debugger <https://github.com/quantopian/qdb>`_\n- `Ajenti <http://ajenti.org/>`_\n- `HoneyBadgerBFT <https://github.com/initc3/HoneyBadgerBFT-Python>`_\n- `iDigBio <https://github.com/iDigBio/idb-backend>`_\n- `Chronology <http://chronology.github.io>`_\n- `GDriveFS <https://github.com/dsoprea/GDriveFS>`_\n- `NetCall <https://github.com/aglyzov/netcall>`_\n- `SiteScan <https://github.com/jasonsheh/SiteScan>`_\n- `PokeAlarm <https://github.com/PokeAlarm/PokeAlarm>`_\n- `gipcrpc <https://github.com/studio-ousia/gipcrpc>`_\n- `etcd-gevent <https://github.com/wjsi/etcd-gevent>`_\n\nAre you using gipc in your project? Please drop me a line!\n\n\nHow to run the tests?\n=====================\ngipc's tests are written for `pytest <http://pytest.org>`_. With the\nrepository's root directory being the current working directory you can run the\ntests like this::\n\n    $ pip install -r requirements-tests.txt\n    $ cd test && pytest -vv --cov-report term --cov-report html --cov gipc\n\n\nContact & help\n==============\nYour feedback and questions are highly appreciated. Please contact me via mail\nat jgehrcke@googlemail.com or use the `GitHub issue tracker\n<https://github.com/jgehrcke/gipc/issues>`_.\n\n\nAuthor & license\n================\ngipc is written and maintained by `Jan-Philip Gehrcke <https://gehrcke.de>`_.\nIt is licensed under the MIT license (see LICENSE file).\n\nI am thankful for all contributions (bug reports, code, great questions) from:\n\n- Guy Rozendorn\n- John Ricklefs\n- Heungsub Lee\n- Alex Besogonov\n- Jonathan Kamens\n- Akhil Acharya\n- John Porter\n- James Addison\n- Oliver Margetts\n- ... and others\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "gevent-cooperative child processes and inter-process communication.",
    "version": "1.6.0",
    "project_urls": {
        "Homepage": "https://gehrcke.de/gipc"
    },
    "split_keywords": [
        "gevent",
        "multiprocessing",
        "ipc",
        "child processes"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b67b4bc41ee432a4651ab18395eb6f84000b2aff82bd763c013af443945a94ad",
                "md5": "1951ee1670db03909f0f30710376e225",
                "sha256": "c65fff771a9ea32f664d47cf043866cc15388d90301532e06cfafef749623f5b"
            },
            "downloads": -1,
            "filename": "gipc-1.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1951ee1670db03909f0f30710376e225",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 66091,
            "upload_time": "2023-12-20T16:52:28",
            "upload_time_iso_8601": "2023-12-20T16:52:28.317783Z",
            "url": "https://files.pythonhosted.org/packages/b6/7b/4bc41ee432a4651ab18395eb6f84000b2aff82bd763c013af443945a94ad/gipc-1.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-20 16:52:28",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "gipc"
}
        
Elapsed time: 0.15514s