gipc
1.1.0
  • Overview
  • Background & Terminology
  • Usage
  • When would you want to use gipc, specifically?
  • What are the challenges and what is gipc’s solution?
  • gipc’s architecture in a nutshell
  • Is gipc reliable?
  • Notes for Windows users
  • Examples
  • API reference
  • Author, license, contact
gipc
  • Docs »
  • gipc: child processes and IPC for gevent
  • View page source

gipc: child processes and IPC for gevent¶

gipc (pronunciation as in “gipsy”) is an open-source Python library created by Jan-Philip Gehrcke. It provides reliable child process management and inter-process communication (IPC) in the context of gevent.

This documentation applies to gipc 1.1.0. It was built on Feb 18, 2020.

Quick links:

  • gipc on GitHub
  • gipc on PyPI
  • Changelog
  • gipc on Bitbucket (legacy)

Table of contents:

  • Overview
    • Platform support
    • Download & installation
    • Versioning
  • Background & Terminology
    • I/O-bound: many execution units, practically all of them wait at any given time
    • Single-threaded event-driven architecture with coroutines
    • Cooperative scheduling vs. preemptive scheduling
    • Given all of that – what is gevent and why do we need gipc?
    • “Asynchronous” vs. “synchronous”
    • More than one event loop?
  • Usage
    • Quick-start example
  • When would you want to use gipc, specifically?
  • What are the challenges and what is gipc’s solution?
  • gipc’s architecture in a nutshell
  • Is gipc reliable?
  • Notes for Windows users
  • Examples
    • Example 1: gipc.pipe()-based messaging from greenlet in parent to child
    • Example 2: serving multiple clients (in child) from one server (in parent)
    • Example 3: time-synchronization between processes
  • API reference
    • Spawning child processes
    • Creating a pipe and its handle pair
    • Handling handles
    • Controlling child processes
    • Exception types
  • Author, license, contact
Next

© Copyright 2012 - 2020, Dr. Jan-Philip Gehrcke Last updated on Feb 18, 2020.