Skip to main content

The python API for Eclipse zenoh

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.0rc20230328.tar.gz (115.6 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230328.tar.gz
Algorithm Hash digest
SHA256 7d6dbefed82d3f2d2ea964c765854d104d5384844f1759dfa5cc1842582f2350
MD5 e115a6d0722ca590d13efe930699fd6a
BLAKE2b-256 cb64241d80c8b5df7dfedbefb8838ab288ed6cf19f60cd12f67bbaf03cbcf370

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230328-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1077ded2a68d5ea09bdd619e69a830e80beb958c8b34ab5cc0a23fd4e8c27131
MD5 bbd7fb7d5af5ff9cbcae19c9e1ae0853
BLAKE2b-256 7abf03bf1e394b2e36186a83edd31894904cf1cf8042bd941162338ceea8d4bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230328-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b3ec0d52a779516cc0658fddb1a76b279e66e42df2957e511b4829c5c492211
MD5 aa741e106b9712e620d22475b4ad4758
BLAKE2b-256 c8f3fcf647657247378a24f53c4b4454b2dfccff6a89aea9de076b146627c3c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230328-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 68112b98b3a338f79667505f870bd04ab2da9670a1c30cbefedb8100de023b82
MD5 7dc1ebef078a5fdbe80bdbb6ade54542
BLAKE2b-256 2a82528d893cdcaff9736017e8d6b55306412d09eab82e99f6e19228ef39a72c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230328-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0d789f738de1f544537e45712f13786b055cc108d07de737e016cff2d892741a
MD5 5f79ddea551a63b5f477f9beca9a5de1
BLAKE2b-256 623f53b83c025fb9680525a029e00624a833f6137ff611835f7e02f21769c57a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230328-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0bbc1a946c3838c2c8b1a5de843dc628dbd4d16715f3a901e48b145b9d84ba4a
MD5 dbbd0b99eff7b6ff4563276273b38ce8
BLAKE2b-256 9e676f1a8aeab8f4e154b769d5edbe4fcf9c8ef52040cdfc46b7635ba890b9e5

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230328-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.0rc20230328-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4302f35e00a5834e86eb0c2e6cce5ff9f45bb03a426b87e9c06f948dfcfa2d85
MD5 9f5e18fc51c6e7d3487c4503bdf9d02f
BLAKE2b-256 57b444ce091c0c4388ed7dbdd2f997b348a7497f69b229b759b1f314a7d0538e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230328-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 aad08c7342abf847f9874ad3793d764cd56eac4cf9ad5d0b722105bd4f68319e
MD5 28213b459a0514704e4212de099d0583
BLAKE2b-256 e5a9d8b2bf7131601275c8b2110aa3834c49910c242ecf1d29fa94c3764e4a4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230328-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 08285e609a7b73d848d20d687ef659a8ad56307b4f74d9c7ae6a8d196966eb5b
MD5 4205e9fa89986a14e67dd4432e20aa09
BLAKE2b-256 177c07226e4473d8f00af721448c2e965ae7d136925262086a87f2f52e001f64

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page