https://github.com/airo-ugent/airo-ipc
AIRO's inter process communication framework
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Repository
AIRO's inter process communication framework
Basic Info
- Host: GitHub
- Owner: airo-ugent
- License: mit
- Language: Python
- Default Branch: master
- Size: 105 KB
Statistics
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
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
pipcommand
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:
bash
pip install airo-ipc
or directly from git:
bash
pip install git+https://github.com/airo-ugent/airo-ipc
or by cloning the repository and running:
bash
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.
Owner
- Name: AIRO UGent
- Login: airo-ugent
- Kind: organization
- Website: https://airo.ugent.be/
- Repositories: 2
- Profile: https://github.com/airo-ugent
GitHub Events
Total
- Issues event: 9
- Issue comment event: 2
- Push event: 8
- Pull request event: 2
- Create event: 1
Last Year
- Issues event: 9
- Issue comment event: 2
- Push event: 8
- Pull request event: 2
- Create event: 1
Packages
- Total packages: 1
-
Total downloads:
- pypi 24 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 5
- Total maintainers: 1
pypi.org: airo-ipc
IPC framework for AIRO.
- Homepage: https://github.com/airo-ugent/airo-ipc
- Documentation: https://airo-ipc.readthedocs.io/
- License: MIT License
-
Latest release: 0.1.1
published 8 months ago
Rankings
Maintainers (1)
Dependencies
- cyclonedds >=0.10.5
- loguru >=0.7.2
- numpy *
- airo-ipc 0.0.1
- click 8.1.8
- colorama 0.4.6
- cyclonedds 0.10.5
- loguru 0.7.3
- markdown-it-py 3.0.0
- mdurl 0.1.2
- numpy 2.0.2
- numpy 2.2.4
- pygments 2.19.1
- rich 13.9.4
- rich-click 1.8.8
- typing-extensions 4.13.0
- win32-setctime 1.2.0