Skip to main content

CI Documentation Status Discussion Discord License License

Eclipse Zenoh

The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.

Zenoh (pronounce /zeno/) unifies data in motion, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.

Check the website zenoh.io and the roadmap for more detailed information.


Python API

This repository provides a Python binding based on the main Zenoh implementation written in Rust.


How to install it

The Eclipse zenoh-python library is available on Pypi.org. Install the latest available version using pip in a virtual environment:

pip install eclipse-zenoh

:warning:WARNING:warning: zenoh-python is developped in Rust. On Pypi.org we provide binary wheels for the most common platforms (Linux x86_64, i686, ARMs, MacOS universal2 and Windows amd64). But also a source distribution package for other platforms. However, for pip to be able to build this source distribution, there are some prerequisites:

  • pip version 19.3.1 minimum (for full support of PEP 517). (if necessary upgrade it with command: 'sudo pip install --upgrade pip' )
  • Have a Rust toolchain installed (instructions at rustup.rs)

Supported Python versions and platforms

zenoh-python has been tested with Python 3.8, 3.9, 3.10, 3.11 and 3.12

It relies on the zenoh Rust API which require the full std library. See the list in Rust Platform Support.

Enable zenoh features

To enable some compilation features of the Rust library that are disabled by default, for example shared-memory, execute the following command:

pip install eclipse-zenoh --no-binary :all: --config-settings build-args="--features=zenoh/shared-memory"

How to build it

Requirements:

  • Python >= 3.8

  • pip >= 19.3.1

  • Rust and Cargo. If you already have the Rust toolchain installed, make sure it is up-to-date with:

    rustup update
    

Recommended: Build with Virtual Environment

Using a virtual environment is strongly recommended to avoid Python version conflicts and dependency issues.

  1. Create and activate a virtual environment:

    python3 -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  2. Install development requirements:

    pip install -r requirements-dev.txt
    
  3. Build and install in development mode:

    maturin develop --release
    
  4. Run examples:

    python examples/z_info.py
    

When you're done, deactivate the virtual environment:

deactivate

Alternative: Build without Virtual Environment

If you cannot use a virtual environment, follow these steps carefully:

  1. Install development requirements:

    pip install -r requirements-dev.txt
    
  2. Ensure your system can find the building tool maturin (installed by previous step). For example, it is placed at $HOME/.local/bin/maturin by default on Ubuntu 20.04.

    export PATH="$HOME/.local/bin:$PATH"
    
  3. Build the wheel:

    maturin build --release
    
  4. Install the built wheel:

    pip install ./target/wheels/*.whl --break-system-packages
    

    :warning: Important: Systems may have multiple Python installations. Ensure you use the same pip that corresponds to the python3 you intend to use for running examples. You can verify this with:

    pip --version      # Shows which Python version pip uses
    python3 --version  # Shows which Python version python3 uses
    

    If they don't match, use python3 -m pip install ./target/wheels/*.whl instead to ensure the package is installed for the correct Python version.

  5. Run examples using the same Python:

    python3 examples/z_info.py
    

Building Documentation

To build the documentation locally:

  1. Ensure you have zenoh-python installed (follow the build instructions above)

  2. Install documentation requirements:

    pip install -r docs/requirements.txt
    
  3. Build the HTML documentation:

    cd docs
    make html
    
  4. Open the documentation:

    open _build/html/index.html  # macOS
    # or
    xdg-open _build/html/index.html  # Linux
    # or navigate to docs/_build/html/index.html in your browser
    

The documentation is also available online at zenoh-python.readthedocs.io.


Running the Examples

You can install Zenoh Router first (See the instructions). Then, run the zenoh-python examples following the instructions in examples/README.md

Release files for eclipse-zenoh 1.10.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 eclipse-zenoh 1.10.0
File Size Uploaded
eclipse_zenoh-1.10.0.tar.gz 168.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for eclipse-zenoh 1.10.0
File
eclipse_zenoh-1.10.0-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_28_aarch64.whl CPython 3.9 abi3 Linux glibc 2.28+ ARM64 Details
eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-32 Details
eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.9 abi3 Linux glibc 2.17+ ARMv7l Details
eclipse_zenoh-1.10.0-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details
eclipse_zenoh-1.10.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.9 abi3 macOS 10.12+ x86-64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64 Details
eclipse_zenoh-1.10.0-cp39-abi3-linux_armv6l.whl CPython 3.9 abi3 linux armv6l Details

Total release size: 93.1 MB

Release files / eclipse_zenoh-1.10.0.tar.gz

Download URL eclipse_zenoh-1.10.0.tar.gz
Size 168.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6904906783b7eb7ce8d5dbbb930b2e62c0ef93490b0e3dbf79e36fe4fd9727d6
BLAKE2b-256 checksum
How to use checksums
4ea5c8defd28227a73bac8e7daf6de6274bbd7f22014f86fdd5e5c43c78bbd79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eclipse_zenoh-1.10.0-cp39-abi3-win_amd64.whl

Download URL eclipse_zenoh-1.10.0-cp39-abi3-win_amd64.whl
Size 9.1 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
012767abc4d60623eb77888fa891dd3f2931449c4692a8f98df2160d36329f6e
BLAKE2b-256 checksum
How to use checksums
414915be7c1f59a3534374199a46ff2fb256bf521acc4254a1d2213fb73a8a4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_28_aarch64.whl

Download URL eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_28_aarch64.whl
Size 10.9 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
5a07b44f43e3a1428544d0223f11afb7a41b39365358dcef0a7798ab1f24e3c1
BLAKE2b-256 checksum
How to use checksums
bce536f3914156f08de895f7eebf104e217433f9db8957597918f9703039c17a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
8a824188a2fb2033133175c8d8f8b49dd4c80ee4286121ae10c1c3ca71812339
BLAKE2b-256 checksum
How to use checksums
450bea24a4d213827bf5d6dd77aa91dbeb54509492494493e9cb91a33f0b4f12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Size 11.7 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-32 abi3
SHA-256 checksum
How to use checksums
1f7ebdf4ed4c267a52bd985ecf29d0d19807db4b4b27b308879fdf6f5b37a445
BLAKE2b-256 checksum
How to use checksums
f438864a24eb0117be0c9f4340b2f25b6f5c4fdc74c231ad9259e4cc785f6ef8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL eclipse_zenoh-1.10.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 10.8 MB
Tags CPython 3.9 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
7f9c270518cf72a2ded8635296f78e21f7a265c4b7a1e132cbf6dcd4a4f51765
BLAKE2b-256 checksum
How to use checksums
4f745c1462537e3ee0d53569ac04858b2058d7c5c5f04e7b34eb3f0be3109f15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eclipse_zenoh-1.10.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL eclipse_zenoh-1.10.0-cp39-abi3-macosx_10_12_x86_64.whl
Size 9.9 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9575f444584c6afaff2f5d2b8e9f23f4f9dee039b646abcb14c78d8485a5d596
BLAKE2b-256 checksum
How to use checksums
193c23ddbd4f9ed1785921beba52c903355f0ce66a4ff881aca5f99951f62624
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eclipse_zenoh-1.10.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL eclipse_zenoh-1.10.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 19.3 MB
Tags CPython 3.9 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7cc386c2bc5f37999c9fecfec9f96c02d6b9302bb5d39a7d9c187d5d18bf49ec
BLAKE2b-256 checksum
How to use checksums
38c537a04681fb95d825f4220a0d16d5e058c24bbd785ae8ee45caa2db0da8e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eclipse_zenoh-1.10.0-cp39-abi3-linux_armv6l.whl

Download URL eclipse_zenoh-1.10.0-cp39-abi3-linux_armv6l.whl
Size 10.9 MB
Tags CPython 3.9 abi3 linux armv6l
SHA-256 checksum
How to use checksums
215e1154209bdb73777b29ee78138706bddcd4d60a93625fa5912a9337cd72a1
BLAKE2b-256 checksum
How to use checksums
78364750c10aaeee1a7a4eb863f807230e7cd24eaeddb62856cf5498ec9859bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.10.0 This release

9 release files

1.9.0

9 release files

1.8.0

13 release files

1.7.1

13 release files

1.6.2

9 release files

1.6.1

9 release files

1.5.1

9 release files

1.5.0

9 release files

1.4.0

9 release files

1.3.4

9 release files

1.3.3

9 release files

1.3.2

9 release files

1.3.1

9 release files

1.3.0

9 release files

1.2.1

9 release files

1.2.0

9 release files

1.1.1

9 release files

1.1.0

9 release files

1.0.4

9 release files

1.0.3

9 release files

1.0.2

9 release files

1.0.1

9 release files

1.0.0

9 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