| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
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.
This repository provides a Python binding based on the main Zenoh implementation written in Rust.
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⚠️ 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:
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.
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"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 updateUsing a virtual environment is strongly recommended to avoid Python version conflicts and dependency issues.
Create and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall development requirements:
pip install -r requirements-dev.txtBuild and install in development mode:
maturin develop --releaseRun examples:
python examples/z_info.pyWhen you're done, deactivate the virtual environment:
deactivateIf you cannot use a virtual environment, follow these steps carefully:
Install development requirements:
pip install -r requirements-dev.txtEnsure 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"Build the wheel:
maturin build --releaseInstall the built wheel:
pip install ./target/wheels/*.whl --break-system-packages⚠️ 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 usesIf they don't match, use python3 -m pip install ./target/wheels/*.whl instead to ensure the package is installed for the correct Python version.
Run examples using the same Python:
python3 examples/z_info.pyTo build the documentation locally:
Ensure you have zenoh-python installed (follow the build instructions above)
Install documentation requirements:
pip install -r docs/requirements.txtBuild the HTML documentation:
cd docs
make htmlOpen 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 browserThe documentation is also available online at zenoh-python.readthedocs.io.
You can install Zenoh Router first (See the instructions). Then, run the zenoh-python examples following the instructions in examples/README.md
| Back | FazBrowse Home | New Git URL |