Skip to main content

Python bindings for iceoryx2

Project description

CI Codecov Examples FAQ Gitter Roadmap

iceoryx2 - Zero-Copy Lock-Free IPC Purely Written In Rust

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern (planned), making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Performance

Comparision Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparision Of Architectures

benchmark on different systems

Documentation

The documentation can be found at:

language
C Documentation Link
C++ Documentation Link
Python Documentation Link
Rust Documentation Link

Supported Platforms

The support levels can be adjusted when required.

Operating System State Current Support Level Target Support Level
Android planned - tier 1
FreeBSD done tier 2 tier 1
FreeRTOS planned - tier 2
ThreadX planned - tier 2
iOS planned - tier 2
Linux (x86_64) done tier 2 tier 1
Linux (aarch64) done tier 2 tier 1
Linux (32-bit) done tier 2 tier 1
Mac OS done tier 2 tier 2
QNX 7.1 done tier 3 tier 1
QNX 8.0 in-progress - tier 1
VxWorks planned - tier 1
WatchOS planned - tier 2
Windows done tier 2 tier 2
  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Work in progress. Might compile and run or not.

[!NOTE] Yocto recipes are available at: meta-iceoryx2

Language Bindings

Language State
C / C++ done
Python done
Go planned
C# planned
Java planned
Kotlin planned
Lua planned
Swift planned
Zig planned

Commercial Support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem

Thanks To All Contributors

Thanks to everyone who has contributed to iceoryx2. Without their passion and dedication, the project wouldn't thrive. A list of people who have committed code can be found on github. However, contributions are not limited to code - testing the software, reporting bugs, and spreading the word about iceoryx2 are all equally valuable. A big thank you as well to those 'invisible' contributors who play a crucial role behind the scenes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iceoryx2-0.7.0rc1.tar.gz (793.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

iceoryx2-0.7.0rc1-cp38-abi3-manylinux_2_34_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.34+ x86-64

iceoryx2-0.7.0rc1-cp38-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

File details

Details for the file iceoryx2-0.7.0rc1.tar.gz.

File metadata

  • Download URL: iceoryx2-0.7.0rc1.tar.gz
  • Upload date:
  • Size: 793.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.3

File hashes

Hashes for iceoryx2-0.7.0rc1.tar.gz
Algorithm Hash digest
SHA256 fc7273ae8c21c70860c453a31713057338e9b4ac76a8954a31f671c926d95e8c
MD5 ab248166604152f62ecf07a506217fba
BLAKE2b-256 349a98ada558cce7ed749d3163386160d959eda3828b170fa1ea68c429a5b205

See more details on using hashes here.

File details

Details for the file iceoryx2-0.7.0rc1-cp38-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iceoryx2-0.7.0rc1-cp38-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 aafced7f3a7899d7274a21531b70d83d107dfeb371c3d617695aa09a863d9433
MD5 e37695f70e555fae263af8be17c19c14
BLAKE2b-256 66a0cd6dac77ab844c2ec3540f97f6929fd07ead192686ff9f0cae86876a796e

See more details on using hashes here.

File details

Details for the file iceoryx2-0.7.0rc1-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for iceoryx2-0.7.0rc1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a16d93929b944d5cf4daaa5b7e6d5a54254e41d03fbf644e383308eba6d043d4
MD5 90e8adbb9bfc03487131334c53c798c6
BLAKE2b-256 08174f5a712cc82b71e75b4625d1deb58ab2da7b244277ec89ff752536b3484d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page