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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230317.tar.gz
Algorithm Hash digest
SHA256 46a21b75d851260077f812753bc98f7c4039fae8f694f615bdfb366e8dc5d748
MD5 0b31798fb41d89625b759e7be328b64f
BLAKE2b-256 5fff6f835677bb6f8b3ebe2a57db1dcf275c858598d32011006200973e4b8b56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230317-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 251ae5eccf168582091b4329aaf5e2a69d106d05ba3a67a4ec57836decc616ff
MD5 d13035307ef8a895f615c08a31241986
BLAKE2b-256 2ffa0a915a286543663533390ff342b08c67400d1473e4a682af766143263aa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230317-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c375a890f3f3177e6e1f9eba55798d8bd71687ebd0338c8effdbbc79e4b07f6
MD5 c5145591783f110881d5e6df3ac036a1
BLAKE2b-256 881d613d4f0b10895a94f2e251feb43c4345f7e8870a27641e1bd62357eacc75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230317-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 08c1af46201bd667498010b608f81614c66b18807fc0b2d72c5c49765eeed110
MD5 394d1ee2944c3498ed0d7c306952846c
BLAKE2b-256 96c56e8271c6a3e6ad7341e3211615e314a7001643b7256bc8d30e289bed8eef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230317-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0de38aba45c455f4773368ebb1c8abca8c7e09ec6466298ecffba5cd07f21c69
MD5 271088134bb10006d2e8dc5c1fdf5202
BLAKE2b-256 abc689e9583ce3a5d97051b78d498f5eb1825ad7fa9162e8571903be8515601a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230317-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b29eae4061bf8a6423f8f3c612774f673133b9ee7982d7473b22079389e411de
MD5 af8dad5945a6d25ed8a37cf02165578f
BLAKE2b-256 7504a26d497037418f7356f43e014baab05bd0d0f92d81f6d97bad9834686fd1

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230317-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.0rc20230317-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6e68909775f53a7d5edcc8fd9d64d74bc30a56f08ef0900ed53f6fcfe27bd849
MD5 09353d4acc220b6155ac3c19a0de76c2
BLAKE2b-256 aed61b96db574a21f6b0251244ac33f92f6ce965caf2eae4cc1eae04efafe57f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230317-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 1b8d40621d8f92cdd2911c66d14769cb1456f327c4962e13b0e3afedcdde3567
MD5 50fa0a19273a1091fa8e0bdd533e1bb8
BLAKE2b-256 fef74173760300a643c03127b6e5deefa390da8385c2aca8aceeef1a4d5c795c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230317-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 c86a72123a50d53a6c45e6cd0b14451a66b91a4361397ce1039f84f419cddacc
MD5 d8b360f656f982d95e583c7c717984ac
BLAKE2b-256 b8111ff1dfdfa0d23c3e939d95b287ec8e5deb23f8ffdb3c4c0ea1d8b1bd18b3

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