Skip to main content

airo-ipc

This repository contains utilities for inter-process communication (IPC) in Python, including shared memory communication and DDS communication. The DDS communication is based on the Cyclone DDS framework and the shared memory communication is built on the shared memory primitives of Python 3.8+.

Main features

  • Fast shared memory communication using Python 3.8+ shared memory primitives
  • DDS communication using the Cyclone DDS framework
  • Easy-to-install with one pip command

The main benefit of using shared memory communication is that it is faster than other forms of IPC, such as sockets or pipes, because it does not require copying data between processes. This is especially useful for high-throughput applications, such as real-time video processing. By using CycloneDDS, we can also communicate between processes on different machines, which is useful for distributed systems. Finally, this Python package is installable with a single command, making it easy to use in any Python project, unlike other IPC libraries that require complex installation procedures (including CycloneDDS with Iceoryx for shared memory communication), or ROS 2.

Please refer to the README file in airo_ipc/cyclone_shm for more information on the shared memory communication.

Installation

You can install the airo-ipc package by running:

pip install airo-ipc

or directly from git:

pip install git+https://github.com/airo-ugent/airo-ipc

or by cloning the repository and running:

pip install -e airo-ipc/

Usage

See the shared memory communication README for more information on how to use the shared memory communication utilities.

This repository also contains a framework package, which provides a high-level interface for using shared memory and DDS communication together. It is not required, but may facilitate common use cases. See the framework README for more information.

Examples

See the examples/ directory to learn how to use airo-ipc.

Metadata

Release files for airo-ipc 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for airo-ipc 0.3.0
File Size Uploaded
airo_ipc-0.3.0.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for airo-ipc 0.3.0
File Interpreter ABI Platform
airo_ipc-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.5 kB

Release files / airo_ipc-0.3.0.tar.gz

Download URL airo_ipc-0.3.0.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7cba7be7141e77ca9b0143e03d3282ac1078eaa85dd448d5f9173a2a56c43e2c
BLAKE2b-256 checksum
How to use checksums
cacd3a31b2f8d3e7aa88d5236db473de3c147292a86974b2dddb2115228105a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / airo_ipc-0.3.0-py3-none-any.whl

Download URL airo_ipc-0.3.0-py3-none-any.whl
Size 18.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b60b53e852bfcd28ee7cd8d2e7a5ebad4b8e44721910a4283cbabdf58a95933
BLAKE2b-256 checksum
How to use checksums
b12916bd936591e26fb89630513ae05678b675e475007df632c9b287ac96e72a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

1 release file

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page