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.0rc20230310.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.0rc20230310-cp37-abi3-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.7+Windows x86-64

eclipse_zenoh_nightly-0.7.0rc20230310-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.0rc20230310-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (7.6 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ i686

eclipse_zenoh_nightly-0.7.0rc20230310-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.0rc20230310-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.0rc20230310-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (10.5 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.0rc20230310-cp37-abi3-macosx_10_7_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230310.tar.gz
Algorithm Hash digest
SHA256 3b797d2c028c2e5b20ac9599e22d2a4e6e5854cc1df3c1ce1e3b957cb0a04ce8
MD5 5940bc0d68102f113afedb3159aafb56
BLAKE2b-256 510ce7fc4a03c25b905d528fd404b3cfd19de22ece69bbc8553558a95dd2c379

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230310-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1f55a746b923f28a54fe1c38edf420138c15b11efad504a023d2b127fcc04577
MD5 6937f7f707e493a11d5ee81304ed9c79
BLAKE2b-256 9ace3a1040c9f394433acf4b4e5763f29be521e72e673b6a83ac6b35eeef3115

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230310-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 497e9594f6d29dcb53623259c2c3e311698282c1016c28869d1644411e94d560
MD5 9537e6defc73f996594ed0b968fbc4eb
BLAKE2b-256 862227b0978217f0fb60718b0d5798e3f194a440bce23775dd4ff3383c8babea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230310-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bbc8a34248274cfdab3120fce59530f8e9d77a1807130be2067326c5443e84b4
MD5 7e8a8243342a38131a616882481ef185
BLAKE2b-256 10da0ddd5d97135d363d25f7a58791337c78aa44f8f78c074c62b3dbe367ea6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230310-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f45f147a922aadde4a299cfbf47c5a4a155ce665a042d8ca63ab5a6e985003e0
MD5 b1b6993e949749d873ba3c9f4547942d
BLAKE2b-256 90e5a0820b708a4bb8353b547b51ac79b4ffe03a3f0c2a3e047edf5f2ee57050

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230310-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c9add21bebf4511f2f757ea4504416650c361af7b6a64966bed3f4fd52f12586
MD5 fda27d69ce25615829862dcda717e89f
BLAKE2b-256 8223e69d7a595967958fbe1ab3e85f30d631fdefdb8e46c5d428f15119003aec

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230310-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.0rc20230310-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7bf84e2162fd5ed8902cb2cabcca8d264d1c108e3889ab3ead03a7ed4a20ae7a
MD5 2d1f7aa47202a1cd62241be10aa8e38f
BLAKE2b-256 d074cb9fbfdab3578d0ab466e48d679c6e010734448c9270625465eb39b76e17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230310-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 521af64d732d1af9c8a2fc2b485dacdb9f53cfbe2b9e5059e911e1e154b2366d
MD5 135a40263dfe23fd14efccc09b4692fb
BLAKE2b-256 ef564abf5ef902608e40612153acacaf4123d9559f2995f18911a44ce960494c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230310-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 1dc22a28e786aa24cd15c665ba9d4215ff74a5ba6777eb82264a9550e09392a6
MD5 684eba30d412f15e6df10a9baba903a9
BLAKE2b-256 4f58002e15e1f0090cd9d56779964f5eb4397f3eeb92e5d7227dbde50b84080b

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