Welcome to IPyC

An elegant and modern Python IPC implementation using multiprocessing and asyncio. IPyC comes in two flavors, synchronous and asynchronous, both using the same backend allowing you to pick and chose to your needs.

Features:

  • Uses the modern async and await AsyncIO Python API.

  • Includes a synchronous version for backward compatibility.

  • Flexible, easy to install, setup, and use.

  • Can transfer custom objects and classes at runtime!

Installing

To install the library you can just run the following command:

# In general
pip install IPyC

# Linux/macOS
python3 -m pip install -U IPyC

# Windows
py -3 -m pip install -U IPyC

and can be used as follows:

import ipyc

To install the development version of the library directly from source:

$ git clone https://github.com/dovedevic/IPyC.git
$ cd IPyC
$ python3 -m pip install -U .

Getting help

If you’re having trouble with something, these resources might help.

Synchronous vs Asynchronous

IPyC comes in two favors: synchronous and asynchronous. Although the underlying mechanism which IPyC uses to communicate is similar between flavors, the two differ in subtle ways. Each version has it’s own library reference documentation, as described in the table of contents.

Because the mechanism behind IPyC is the same, one can use a AsyncIPyCHost host with a IPyCClient client and vice-versa.