Skip to main content

The python API for Eclipse zenoh

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

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:

pip install eclipse-zenoh

To install the latest nightly build of the development version do:

pip install eclipse-zenoh-nightly

: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 https://rustup.rs/)

Supported Python versions and platforms

zenoh-python has been tested with Python 3.7, 3.8, 3.9 and 3.10.

It relies on the zenoh Rust API which require the full std library. See the list Rust supported platforms here: https://doc.rust-lang.org/nightly/rustc/platform-support.html .


How to build it

:warning: WARNING :warning: : Zenoh and its ecosystem are under active development. When you build from git, make sure you also build from git any other Zenoh repository you plan to use (e.g. binding, plugin, backend, etc.). It may happen that some changes in git are not compatible with the most recent packaged Zenoh release (e.g. deb, docker, pip). We put particular effort in mantaining compatibility between the various git repositories in the Zenoh project.

Requirements:

Steps:

  • Install developments requirements:

    pip install -r requirements-dev.txt
    
  • 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"
    
  • Build and install zenoh-python:

    • With a virtual environment active:
    maturin develop --release
    
    • Without one:
    maturin build --release
    pip install ./target/wheels/<there should only be one .whl file here>
    

Running the Examples

The simplest way to run some of the example is to get a Docker image of the zenoh network router (see https://github.com/eclipse-zenoh/zenoh#how-to-test-it) and then to run the examples on your machine.

Then, run the zenoh-python examples following the instructions in examples/README.md

Release history Release notifications | RSS feed

Download files

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

Source Distribution

eclipse_zenoh_nightly-0.7.0rc20230307.tar.gz (115.8 kB view details)

Uploaded Source

Built Distributions

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

eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.7+Windows x86-64

eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ x86-64

eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (7.5 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ i686

eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.8 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARMv7l

eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (10.6 MB view details)

Uploaded CPython 3.7+macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-macosx_10_7_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230307.tar.gz.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230307.tar.gz
Algorithm Hash digest
SHA256 65987b23bd58b95c8cbde9e6d23183238987e292c5bd928c1ac229ed44943638
MD5 5adca6d0a006520ed518425649bb41ac
BLAKE2b-256 1cb669409f3a3fe8e905d9ea39eb3872f730b40ea3d40041061dbec3a4d3e5f8

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 13bfe9d25065dc3e4bb56f961311d7118ae5447bec387a1a39c4398df740a3f4
MD5 db65ef5ba6eec34d649e877180ba43cd
BLAKE2b-256 8dab1761101043cd6e9b90395c77b99a5ee899e1ebfd4ebecd3735af7526f122

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a189598e6d3f1e250ac88ebfeb916a1d8f382bbd0a92cd6e239919d72a196faa
MD5 05de97072e0d7cb243e1bf193e014c35
BLAKE2b-256 7c5aa77b49fdd30a7bfb7cc9d794bb579c1f2f6cd9c7bad89b5be5b6a297ceea

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a519e8f909c29e4ba959198627435a8010bf7987c1347d7d5d123f14017666cb
MD5 f8e68dbbff13f33930b2e753c3d5966d
BLAKE2b-256 5bf22b3bf27732e205e1a16e1748d8a83920d9ed8849cc3c336f41013cf47b6c

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 e69a65664eafb2fbf7f0c220adc0e524b4b3253019fbef1669d57ae928b74f9c
MD5 a5de3d384b20a1a17481d8e088cc4437
BLAKE2b-256 ddb1827f7b6887c45ac878f68e08b1c328ebe6ebb67568c5f6554c674e437399

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0be2485f8730e9e0326026f8f64a703d95d58a5440f79c98c6fc80ee93bf9902
MD5 037fc2457542afca98fe4f775a6243fa
BLAKE2b-256 e910d465ba786602d32500d674efd67443d4607cd31ca0721417fe22002568bc

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a7afa573eb7dd8e218df5b07082b9de3875434b6d378bdd8780d82facb609180
MD5 809237cfd7386069560a6dc557ee2647
BLAKE2b-256 dee38b3a3e4293d76cf163d1088bea5682a6b031a66f4a88bee9752b9d830432

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 ee42856dd1564645c028c67bf2bd1c995c01c774e84d3128cf6af7050c5e7c33
MD5 8e634321dbed60e6b95778225c294b35
BLAKE2b-256 a1303845d291256e4503b0f14a631e38584c9c2c0e0c4a53da5c40c4eeda0368

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-linux_armv6l.whl.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230307-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 96456f59a3e0af9e706b81fccbfd9d2373cab123b510a13f7a4f18b2a0258c18
MD5 c9efe157566ddfcbe26f83ba3e0d6000
BLAKE2b-256 b10ee1238cdbe8854e829cf8f33bdc6ab041286a39fdb424cb425d05187a8427

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