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.1

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.1
File Size Uploaded
eclipse_zenoh-1.10.1.tar.gz 170.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for eclipse-zenoh 1.10.1
File
eclipse_zenoh-1.10.1-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
eclipse_zenoh-1.10.1-cp39-abi3-manylinux_2_28_aarch64.whl CPython 3.9 abi3 Linux glibc 2.28+ ARM64 Details
eclipse_zenoh-1.10.1-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.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-32 Details
eclipse_zenoh-1.10.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.9 abi3 Linux glibc 2.17+ ARMv7l Details
eclipse_zenoh-1.10.1-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details
eclipse_zenoh-1.10.1-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 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64) Details
eclipse_zenoh-1.10.1-cp39-abi3-linux_armv6l.whl CPython 3.9 abi3 linux armv6l Details

Total release size: 93.2 MB

Release files / eclipse_zenoh-1.10.1.tar.gz

Download URL eclipse_zenoh-1.10.1.tar.gz
Size 170.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e601b9883746b742eb7210ec73348c9980a2e65cbd54b4a8017662de9aeb15cb
BLAKE2b-256 checksum
How to use checksums
4d1f54e50d0fdd2d41499b18fd2066add8a53460cddb85b5c2585afd0d3159ed
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.1-cp39-abi3-win_amd64.whl

Download URL eclipse_zenoh-1.10.1-cp39-abi3-win_amd64.whl
Size 9.1 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
44e368a6a509cf385d3657f48ed99f1d677ce9877e8893e15b9cf1b504dc9150
BLAKE2b-256 checksum
How to use checksums
9a2410f71ebd91d1cfbfd68449a1c52b6e38303f4302f8dc5d612d0b0ff385a8
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.1-cp39-abi3-manylinux_2_28_aarch64.whl

Download URL eclipse_zenoh-1.10.1-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
1950fdc8de72e5a3847d845d57e72dedf35275725e42be46a26454cfabb54c8c
BLAKE2b-256 checksum
How to use checksums
d021976cd9e4091362bc25ed5031f229d72032363c611bd5260950284583861e
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.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL eclipse_zenoh-1.10.1-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
faa4071aea57650594e8f4ea39147f791fbd6105cbd7afe15e96dc3589bd83db
BLAKE2b-256 checksum
How to use checksums
b0a25a54606f5202581256a8bb405e51b6d69254aa84a44e716aedae21fb2964
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.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL eclipse_zenoh-1.10.1-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
eb73bce18afe43fdd799d2cf3f066c7ce353d2552ae2776badffe6144352e79f
BLAKE2b-256 checksum
How to use checksums
b832b524fcf38ebc80f9c39e5104473a55a3354bbc3ac151d1cb79514cb0b8ad
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.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL eclipse_zenoh-1.10.1-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
476bfca6f15f1c68e71037efbbf61b880719ea1a8eaadc6f9df978e144cf44d2
BLAKE2b-256 checksum
How to use checksums
ff29e856a2115f3a43cab68ec24d09f0d253466d7bc4083841bfd9bc1f6a1adb
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.1-cp39-abi3-macosx_10_12_x86_64.whl

Download URL eclipse_zenoh-1.10.1-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
ad269f1cb3e4a66a0130ea63a0b2bca214cbbe75181baa4fe12f27ddb5c42221
BLAKE2b-256 checksum
How to use checksums
b4e802f615c757ddc983152ce9fabe1f94f073678593b57a93654e10aeb827e5
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.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL eclipse_zenoh-1.10.1-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
9e99d5801e0e12a10dbc5d976d227ec7a1ff73d86c20ff4315102b8237ac3ee8
BLAKE2b-256 checksum
How to use checksums
546d2ffd5e7a18c5b90c6d8468fd48c3416a4615b3d346dd2bbfe88849adad14
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.1-cp39-abi3-linux_armv6l.whl

Download URL eclipse_zenoh-1.10.1-cp39-abi3-linux_armv6l.whl
Size 11.0 MB
Tags CPython 3.9 abi3 linux armv6l
SHA-256 checksum
How to use checksums
f2351b810dbda09f6dbe668ca965560bf8cee98075b28b8b71e88428f613ed35
BLAKE2b-256 checksum
How to use checksums
cf24d0802eec65a925bfef6f96924faa8c0285c8c584660881af938d92a92c7b
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.1 This release

9 release files

1.10.0

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