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/zenoh/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.0rc20221223.tar.gz (114.4 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.0rc20221223-cp37-abi3-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.7+Windows x86-64

eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.7 MB view details)

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

eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (7.1 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ i686

eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.3 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARMv7l

eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.6 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.7+macOS 10.7+ x86-64

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20221223.tar.gz
Algorithm Hash digest
SHA256 74a9ed34193b80035e36e138477b2760476f0f0dd1e9277244468fe66c64b5d8
MD5 5b8e27514977c9d1581a07d17a8423f0
BLAKE2b-256 09abaf47518d4933d8b3d8e688eaf9049363766a8d49de26912ca856eafc3051

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a788befd2b3c63f218419c30384466d6bef8ad9dd658c86e601dce1767119ece
MD5 f112999becb3ef73a2ece5f9f57a86d3
BLAKE2b-256 71c77ee29adb5b2bea77412d3d33c6969f3098d1f3d7eb5bd2a725f42acf949f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd19d5d1c82345a48822301a598e8a98c6b2ec444f9fc0db5537762ac469de33
MD5 652121b60fe8c01be9cf0e339cb0addf
BLAKE2b-256 ce5ce3e0f2726b8e618ec647381d61a1a2ab5f3df92a2696ad71ee691430ed33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 537b2278c655028336050f5fd5965fa9aab5d9e348862b69815484e3af1bd4f4
MD5 ef58defc28acbbdc8a6e9252d652dfed
BLAKE2b-256 58fe099ec2f2d0d3bdc0a708660e4053453e7ff7cb7be7fda71e5c0feb9c3e56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c805e276d775005f1246baad62ff3846643708ac6db0b5bbd27d9e42b41c3fc8
MD5 a873f63eb85f0574d46301ef101d95c7
BLAKE2b-256 2dbc738228844930b12d45cddcc2315b566e29ebe710a3c5923b0a7000be05ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4a9b25739bc587f296da176df4e6f693315cc71862754c7f26e95e51cc2dad4f
MD5 a008ce33f2ef5beb5c427f7ed7dc6f8f
BLAKE2b-256 64c326cf601ff8393d9a631f1fdba3dc58a83a639e1beb02465dc8e43a734fea

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20221223-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.0rc20221223-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cca1e5342397596f463ae18f2be2842e8d7fecda80397f311f7bb0545ef3b498
MD5 95ced86836a5ec0e41329c14ff06d4f9
BLAKE2b-256 76d4f3ee9e41f3c16cdef00fefaa98d17a293cd8814bfc8002346a991d354eef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 5e131698dfa8d4df32b06c07309048e11712acc5464e76e3ce3bd96340a82b46
MD5 aae1ff0d534f41d738e1c3521873cdec
BLAKE2b-256 a1d3da0fed15d3fbe08272926a04246103801a99bd56a0112c1b09ee18224ffc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20221223-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 50ce51b1b94adac8ed91e0aafd4196dc7043d5fd439b66d42b5b5856ed73b44e
MD5 d231c7a69354131ee458b1b77fffc2d7
BLAKE2b-256 df7c63c74ce5b3e5b0a31648f0e6c5d4570e1dc679d882d3b0e50b8212b8dca6

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