iceoryx2


Nameiceoryx2 JSON
Version 0.7.0rc4 PyPI version JSON
download
home_pagehttps://iceoryx.io
SummaryLock-Free Zero-Copy Interprocess Communication
upload_time2025-09-13 05:56:38
maintainerNone
docs_urlNone
authorContributors of eclipse-iceoryx
requires_python<4.0,>=3.11
licenseNone
keywords ipc inter-process communication zero-copy shared memory publish-subscribe request-response event
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!-- markdownlint-disable -->

[![CI](https://github.com/eclipse-iceoryx/iceoryx2/workflows/CI/badge.svg)](https://github.com/eclipse-iceoryx/iceoryx2/actions/workflows/build-test.yml?query=branch%3Amain++)
[![Codecov](https://codecov.io/gh/eclipse-iceoryx/iceoryx2/branch/main/graph/badge.svg?branch=main)](https://codecov.io/gh/eclipse-iceoryx/iceoryx2?branch=main)
[![Examples](https://img.shields.io/badge/Examples-gray)](examples/)
[![FAQ](https://img.shields.io/badge/FAQ-gray)](FAQ.md)
[![Gitter](https://badges.gitter.im/eclipse-iceoryx/iceoryx.svg)](https://gitter.im/eclipse/iceoryx)
[![Roadmap](https://img.shields.io/badge/Roadmap-gray)](ROADMAP.md)

<p align="center">
<img src="https://github.com/eclipse-iceoryx/iceoryx2/assets/56729169/3230a125-19e5-4e98-a752-da026a086782" width="50%">
</p>

<!-- markdownlint-enable -->

# iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

* [Introduction](#introduction)
* [Performance](#performance)
    * [Comparision Of Mechanisms](#comparision-of-mechanisms)
        * [Benchmark-System](#benchmark-system)
    * [Comparision Of Architectures](#comparision-of-architectures)
* [Documentation](#documentation)
    * [User Documentation](#user-documentation)
    * [Contributer Documentation](#contributor-documentation)
    * [API References](#api-references)
* [Supported Platforms](#supported-platforms)
* [Language Bindings](#language-bindings)
* [Commercial Support](#commercial-support)
* [Thanks To All Contributors](#thanks-to-all-contributors)

## 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](https://github.com/eclipse-iceoryx/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](https://github.com/eclipse-iceoryx/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](https://raw.githubusercontent.com/eclipse-iceoryx/iceoryx2/refs/heads/main/internal/plots/benchmark_mechanism.svg)

#### 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](https://raw.githubusercontent.com/eclipse-iceoryx/iceoryx2/refs/heads/main/internal/plots/benchmark_architecture.svg)

## Documentation

### User Documentation

* [The iceoryx2 Book](https://ekxide.github.io/iceoryx2-book) (by [ekxide](https://ekxide.io))
* [Examples](examples)
* [Release Notes](doc/release-notes)
* [User FAQ](FAQ.md)

### Contributor Documentation

* [Contributor FAQ](FAQ_ICEORYX_DEVS.md)

### API References

* [Rust API Reference](https://docs.rs/iceoryx2/latest/iceoryx2/)
* [Python API Reference](https://eclipse-iceoryx.github.io/iceoryx2/python/latest/)
* [C++ API Reference](https://eclipse-iceoryx.github.io/iceoryx2/cxx/latest/)
* [C API Reference](https://eclipse-iceoryx.github.io/iceoryx2/c/latest/)

## 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          | proof-of-concept[^1]     |           -           |               tier 1 |
| WatchOS          | planned                  |           -           |               tier 2 |
| Windows          | done                     |        tier 2         |               tier 2 |

[^1]: A proof-of-concept for VxWorks platform support is available on [this
      branch](https://github.com/ekxide/iceoryx2/blob/vxworks-mvp/doc/development-setup/vxworks.md)
      on the [ekxide](https://ekxide.io) fork

* **tier 1** - All safety and security features are working.
* **tier 2** - Works with a restricted security and safety feature set.
* **tier 3** - Not tested in our CI, so might compile and run or not.

<!-- markdownlint-disable MD027 -->
> [!NOTE]
> Some commercial OS require expensive licenses and the support for these
> platforms rely on funding of the license costs.
<!-- markdownlint-enable MD027 -->

<!-- markdownlint-disable MD027 -->
> [!NOTE]
> Yocto recipes are available at [meta-iceoryx2](https://github.com/eclipse-iceoryx/meta-iceoryx2)
<!-- markdownlint-enable MD027 -->

## 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

<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->

<table width="100%">
  <tbody>
    <tr>
      <td align="center" valign="top" width="33%">
        <a href="https://ekxide.io">
        <img src="https://github.com/eclipse-iceoryx/iceoryx2/assets/56729169/c3ce8370-6cef-4c31-8259-93ddaa61c43e" alt="ekxide IO GmbH"/><br />
        </a>
        <a href="mailto:info@ekxide.io">info@ekxide.io</a>
      </td>
      <td>
        <ul>
          <li>commercial extensions and tooling</li>
          <li>custom feature development</li>
          <li>training and consulting</li>
          <li>integration support</li>
          <li>engineering services around the iceoryx ecosystem</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

## 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](https://github.com/eclipse-iceoryx/iceoryx2/graphs/contributors).
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.


            

Raw data

            {
    "_id": null,
    "home_page": "https://iceoryx.io",
    "name": "iceoryx2",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": "ipc, inter-process communication, zero-copy, shared memory, publish-subscribe, request-response, event",
    "author": "Contributors of eclipse-iceoryx",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/16/ce/329c85c052a658d45267fc883ef8b64d9e82940021b5d51ff3ac0e88bec9/iceoryx2-0.7.0rc4.tar.gz",
    "platform": null,
    "description": "<!-- markdownlint-disable -->\n\n[![CI](https://github.com/eclipse-iceoryx/iceoryx2/workflows/CI/badge.svg)](https://github.com/eclipse-iceoryx/iceoryx2/actions/workflows/build-test.yml?query=branch%3Amain++)\n[![Codecov](https://codecov.io/gh/eclipse-iceoryx/iceoryx2/branch/main/graph/badge.svg?branch=main)](https://codecov.io/gh/eclipse-iceoryx/iceoryx2?branch=main)\n[![Examples](https://img.shields.io/badge/Examples-gray)](examples/)\n[![FAQ](https://img.shields.io/badge/FAQ-gray)](FAQ.md)\n[![Gitter](https://badges.gitter.im/eclipse-iceoryx/iceoryx.svg)](https://gitter.im/eclipse/iceoryx)\n[![Roadmap](https://img.shields.io/badge/Roadmap-gray)](ROADMAP.md)\n\n<p align=\"center\">\n<img src=\"https://github.com/eclipse-iceoryx/iceoryx2/assets/56729169/3230a125-19e5-4e98-a752-da026a086782\" width=\"50%\">\n</p>\n\n<!-- markdownlint-enable -->\n\n# iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core\n\n* [Introduction](#introduction)\n* [Performance](#performance)\n    * [Comparision Of Mechanisms](#comparision-of-mechanisms)\n        * [Benchmark-System](#benchmark-system)\n    * [Comparision Of Architectures](#comparision-of-architectures)\n* [Documentation](#documentation)\n    * [User Documentation](#user-documentation)\n    * [Contributer Documentation](#contributor-documentation)\n    * [API References](#api-references)\n* [Supported Platforms](#supported-platforms)\n* [Language Bindings](#language-bindings)\n* [Commercial Support](#commercial-support)\n* [Thanks To All Contributors](#thanks-to-all-contributors)\n\n## Introduction\n\nWelcome to iceoryx2, the efficient, and ultra-low latency inter-process\ncommunication middleware. This library is designed to provide you with fast and\nreliable zero-copy and lock-free inter-process communication mechanisms.\n\nSo if you want to communicate efficiently between multiple processes or\napplications iceoryx2 is for you. With iceoryx2, you can:\n\n* Send huge amounts of data using a publish/subscribe, request/response,\n  pipeline (planned) or blackboard pattern (planned), making it ideal\n  for scenarios where large datasets need to be shared.\n* Exchange signals through events, enabling quick and reliable signaling between\n  processes.\n\niceoryx2 is based on a service-oriented architecture (SOA) and facilitates\nseamless inter-process communication (IPC).\n\nIt is all about providing a seamless experience for inter-process communication,\nfeaturing versatile messaging patterns. Whether you're diving into\npublish-subscribe, events, request-response, or the promise of upcoming features\nlike pipelines, and blackboard, iceoryx2 has you covered.\n\nOne of the features of iceoryx2 is its consistently low transmission latency\nregardless of payload size, ensuring a predictable and reliable communication\nexperience.\n\niceoryx2's origins can be traced back to\n[iceoryx](https://github.com/eclipse-iceoryx/iceoryx). By overcoming past\ntechnical debts and refining the architecture, iceoryx2 enables the modularity\nwe've always desired.\n\nIn the near future, iceoryx2 is poised to support at least the same feature set\nand platforms as [iceoryx](https://github.com/eclipse-iceoryx/iceoryx), ensuring\na seamless transition and offering enhanced capabilities for your inter-process\ncommunication needs. So, if you're looking for lightning-fast, cross-platform\ncommunication that doesn't compromise on performance or modularity, iceoryx2 is\nyour answer.\n\n## Performance\n\n### Comparision Of Mechanisms\n\n![benchmark of different mechanism](https://raw.githubusercontent.com/eclipse-iceoryx/iceoryx2/refs/heads/main/internal/plots/benchmark_mechanism.svg)\n\n#### Benchmark-System\n\n* **CPU:** Intel i7 13700h\n* **OS:** Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC\n* **Compiler:**\n    * rustc 1.81.0\n    * gcc 14.2.1 20240910\n\n### Comparision Of Architectures\n\n![benchmark on different systems](https://raw.githubusercontent.com/eclipse-iceoryx/iceoryx2/refs/heads/main/internal/plots/benchmark_architecture.svg)\n\n## Documentation\n\n### User Documentation\n\n* [The iceoryx2 Book](https://ekxide.github.io/iceoryx2-book) (by [ekxide](https://ekxide.io))\n* [Examples](examples)\n* [Release Notes](doc/release-notes)\n* [User FAQ](FAQ.md)\n\n### Contributor Documentation\n\n* [Contributor FAQ](FAQ_ICEORYX_DEVS.md)\n\n### API References\n\n* [Rust API Reference](https://docs.rs/iceoryx2/latest/iceoryx2/)\n* [Python API Reference](https://eclipse-iceoryx.github.io/iceoryx2/python/latest/)\n* [C++ API Reference](https://eclipse-iceoryx.github.io/iceoryx2/cxx/latest/)\n* [C API Reference](https://eclipse-iceoryx.github.io/iceoryx2/c/latest/)\n\n## Supported Platforms\n\nThe support levels can be adjusted when required.\n\n| Operating System | State                    | Current Support Level | Target Support Level |\n| ---------------- | :----------------------- | :-------------------: | -------------------: |\n| Android          | planned                  |           -           |               tier 1 |\n| FreeBSD          | done                     |        tier 2         |               tier 1 |\n| FreeRTOS         | planned                  |           -           |               tier 2 |\n| ThreadX          | planned                  |           -           |               tier 2 |\n| iOS              | planned                  |           -           |               tier 2 |\n| Linux (x86_64)   | done                     |        tier 2         |               tier 1 |\n| Linux (aarch64)  | done                     |        tier 2         |               tier 1 |\n| Linux (32-bit)   | done                     |        tier 2         |               tier 1 |\n| Mac OS           | done                     |        tier 2         |               tier 2 |\n| QNX 7.1          | done                     |        tier 3         |               tier 1 |\n| QNX 8.0          | in-progress              |           -           |               tier 1 |\n| VxWorks          | proof-of-concept[^1]     |           -           |               tier 1 |\n| WatchOS          | planned                  |           -           |               tier 2 |\n| Windows          | done                     |        tier 2         |               tier 2 |\n\n[^1]: A proof-of-concept for VxWorks platform support is available on [this\n      branch](https://github.com/ekxide/iceoryx2/blob/vxworks-mvp/doc/development-setup/vxworks.md)\n      on the [ekxide](https://ekxide.io) fork\n\n* **tier 1** - All safety and security features are working.\n* **tier 2** - Works with a restricted security and safety feature set.\n* **tier 3** - Not tested in our CI, so might compile and run or not.\n\n<!-- markdownlint-disable MD027 -->\n> [!NOTE]\n> Some commercial OS require expensive licenses and the support for these\n> platforms rely on funding of the license costs.\n<!-- markdownlint-enable MD027 -->\n\n<!-- markdownlint-disable MD027 -->\n> [!NOTE]\n> Yocto recipes are available at [meta-iceoryx2](https://github.com/eclipse-iceoryx/meta-iceoryx2)\n<!-- markdownlint-enable MD027 -->\n\n## Language Bindings\n\n| Language |   State |\n| -------- | ------: |\n| C / C++  |    done |\n| Python   |    done |\n| Go       | planned |\n| C#       | planned |\n| Java     | planned |\n| Kotlin   | planned |\n| Lua      | planned |\n| Swift    | planned |\n| Zig      | planned |\n\n## Commercial Support\n\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n\n<table width=\"100%\">\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"33%\">\n        <a href=\"https://ekxide.io\">\n        <img src=\"https://github.com/eclipse-iceoryx/iceoryx2/assets/56729169/c3ce8370-6cef-4c31-8259-93ddaa61c43e\" alt=\"ekxide IO GmbH\"/><br />\n        </a>\n        <a href=\"mailto:info@ekxide.io\">info@ekxide.io</a>\n      </td>\n      <td>\n        <ul>\n          <li>commercial extensions and tooling</li>\n          <li>custom feature development</li>\n          <li>training and consulting</li>\n          <li>integration support</li>\n          <li>engineering services around the iceoryx ecosystem</li>\n        </ul>\n      </td>\n    </tr>\n  </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n## Thanks To All Contributors\n\nThanks to everyone who has contributed to iceoryx2. Without their passion and\ndedication, the project wouldn't thrive. A list of people who have committed\ncode can be found on [github](https://github.com/eclipse-iceoryx/iceoryx2/graphs/contributors).\nHowever, contributions are not limited to code - testing the software, reporting\nbugs, and spreading the word about iceoryx2 are all equally valuable. A big\nthank you as well to those 'invisible' contributors who play a crucial role\nbehind the scenes.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Lock-Free Zero-Copy Interprocess Communication",
    "version": "0.7.0rc4",
    "project_urls": {
        "Homepage": "https://iceoryx.io",
        "changelog": "https://github.com/eclipse-iceoryx/iceoryx2/blob/main/CHANGELOG.md",
        "documentation": "https://ekxide.github.io/iceoryx2-book",
        "repository": "https://github.com/eclipse-iceoryx/iceoryx2"
    },
    "split_keywords": [
        "ipc",
        " inter-process communication",
        " zero-copy",
        " shared memory",
        " publish-subscribe",
        " request-response",
        " event"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "657fa80948af3b15c145dc8c91fdc1c7c524077853e87ee378566769b3610231",
                "md5": "5ca52804ce5c625d3efe5ec6898ab112",
                "sha256": "ef8763edce7b002798b269497b259fac69bbb05af215c1d0cc9a46daa9eea1ea"
            },
            "downloads": -1,
            "filename": "iceoryx2-0.7.0rc4-cp38-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "5ca52804ce5c625d3efe5ec6898ab112",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<4.0,>=3.11",
            "size": 1228296,
            "upload_time": "2025-09-13T05:56:20",
            "upload_time_iso_8601": "2025-09-13T05:56:20.141379Z",
            "url": "https://files.pythonhosted.org/packages/65/7f/a80948af3b15c145dc8c91fdc1c7c524077853e87ee378566769b3610231/iceoryx2-0.7.0rc4-cp38-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "20a54f313a5ea19045fd253e323b8232cd0f65106b463a9931ca4f1802733719",
                "md5": "93c4b87d07fb27b4cdb59619ec70fb18",
                "sha256": "428a46f6b234bfacc8e166ccd9863875b1b95d87c47ba576da4949a3938180c1"
            },
            "downloads": -1,
            "filename": "iceoryx2-0.7.0rc4-cp38-abi3-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "93c4b87d07fb27b4cdb59619ec70fb18",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<4.0,>=3.11",
            "size": 1472000,
            "upload_time": "2025-09-13T05:56:27",
            "upload_time_iso_8601": "2025-09-13T05:56:27.624352Z",
            "url": "https://files.pythonhosted.org/packages/20/a5/4f313a5ea19045fd253e323b8232cd0f65106b463a9931ca4f1802733719/iceoryx2-0.7.0rc4-cp38-abi3-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ba1f0dab9c916748baec36802c659c79013fc5d0bbe36895a76566ed50532c0b",
                "md5": "a4238b2039e016ff2181837e699135ff",
                "sha256": "350c8d3b60717a6e34733403b2e9e0d5bbb16f2689946be8b8b7cf7d4f11ea72"
            },
            "downloads": -1,
            "filename": "iceoryx2-0.7.0rc4-cp38-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a4238b2039e016ff2181837e699135ff",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<4.0,>=3.11",
            "size": 1309856,
            "upload_time": "2025-09-13T05:56:33",
            "upload_time_iso_8601": "2025-09-13T05:56:33.548708Z",
            "url": "https://files.pythonhosted.org/packages/ba/1f/0dab9c916748baec36802c659c79013fc5d0bbe36895a76566ed50532c0b/iceoryx2-0.7.0rc4-cp38-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "16ce329c85c052a658d45267fc883ef8b64d9e82940021b5d51ff3ac0e88bec9",
                "md5": "f54753d2b0632539cea7c0a0ec563fc4",
                "sha256": "cbb350da84d4471495167ff51b9119b2ac9b79659a860e69eecc0a1a729a3c21"
            },
            "downloads": -1,
            "filename": "iceoryx2-0.7.0rc4.tar.gz",
            "has_sig": false,
            "md5_digest": "f54753d2b0632539cea7c0a0ec563fc4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 808289,
            "upload_time": "2025-09-13T05:56:38",
            "upload_time_iso_8601": "2025-09-13T05:56:38.177073Z",
            "url": "https://files.pythonhosted.org/packages/16/ce/329c85c052a658d45267fc883ef8b64d9e82940021b5d51ff3ac0e88bec9/iceoryx2-0.7.0rc4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-13 05:56:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "eclipse-iceoryx",
    "github_project": "iceoryx2",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "iceoryx2"
}
        
Elapsed time: 1.70309s