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

Uploaded CPython 3.7+Windows x86-64

eclipse_zenoh_nightly-0.7.0rc20230224-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.0rc20230224-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.0rc20230224-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.0rc20230224-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.0rc20230224-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.0rc20230224-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.0rc20230224.tar.gz.

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230224.tar.gz
Algorithm Hash digest
SHA256 d3bda941657bccfadb71e9f2c4e2dad3efb7da24c893cffc1aef3e319c5d4e1c
MD5 6c46291f18a003984dfd390c45ab3ba4
BLAKE2b-256 bc8d2d1d7c06b164b3c6e777d001037bed3005faef0e9c19f37351110dfec916

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230224-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b13a9d31bff975575089037bb601250f3b37c47cbcc22a32244f38b29586ab46
MD5 fc94992962fe0405eb5fe4adc2e61b66
BLAKE2b-256 6662eb1237ec2fb4cd85cf6a1af9c4b2ef127be5b587ca527b3a48cc332c8363

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230224-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3494272d4be0520ac0da8f3f97a3a518ecfb675679f11925e0394e89d3a5fffc
MD5 56ce22367ce7941470bedac81146b93b
BLAKE2b-256 baeb82a094e3aad98dd64ef17db2a182cfee65eb3cc69cf727a4c25983baf99c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230224-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a3c239e7a99a60f0cbc4312eef1261e129d28c1781d39a1f24a13c05ceb7b352
MD5 756901b6dc64fbcc29788fb6dc855af3
BLAKE2b-256 08a4dd931e184aa3f25fac66ff01160349cae8104d96f91fcb4facfe22837f28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230224-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 985f2e5ce2253b2a02052851abb8cac1b377f5668d12a5de602e444308debb06
MD5 9935e227d538cc3bb85364c4961575d5
BLAKE2b-256 98d7cfc86e78a4963f8864044fffd5b33deb202267fb40b2d4c0d870ddd74b15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230224-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1f055e95ca4302d4df7660ddbf36a4a4ff84a954f3c017ce198663fface8458d
MD5 085aa63bc0aed57784b9f92728f661d3
BLAKE2b-256 4438e386cda79af03dfa16a150dc5c9591873d10a354c5ddbaee9131be91187d

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230224-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.0rc20230224-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 bf596a7d53793763cbe0f7cc93a21ab041c8956001151bd4b659316cb0a90eb2
MD5 67ded9c2bbe9ebd198ff872fb50cd479
BLAKE2b-256 48e36fe6acfab766e0e0795b334477bd0843c8557b0eaf65808964fb44860e8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230224-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 c0264e160183fb71fed34fa79135d5bf31dd667df06e15ddef1a35b27b1c4493
MD5 b05f24b41e48a70a3a6986c56dccf3ee
BLAKE2b-256 d2680243849a0f151ca247b7c253425e06ad8bfa8d42f678f91d7b6e2a83b7cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230224-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 04ba85a673bae54ee0ef2f8fa16e29101ec8766295fb70074f3a826189c373a1
MD5 f0da015f9839978899883e48a8000731
BLAKE2b-256 86c7905cfa8c5505394e0483df9b01c2bc02c2c5f5273409851507cd31b5bdf9

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