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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230303.tar.gz
Algorithm Hash digest
SHA256 d852d51c9e40320a34812ed07762fa33744b8e583e26a267bfc0a84716a6e7a6
MD5 85c93a38e985b83221846f59b7ee4328
BLAKE2b-256 f69e5748712e89b7dd2454f5c068a0ca7cd3a2cffab85cceaefe1301d7e9cc0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230303-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9446d73de2d842aab0cdc2795112cc76365dce51127933584729468380e6022d
MD5 541f68f5616ad5cec411f1ed6f9db045
BLAKE2b-256 04b576ccb01e2556728817415113d41810b1cb45a770f007d29e81b244a2bfdd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230303-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8675a422918e1ebccca52c0e68f63ad96f95b0d85a3dc2ec5ebf8be61213a67c
MD5 f063ee94c0b89ae349308536d1b442ed
BLAKE2b-256 5f04a7cf1c1a671bee5a39cb90d419e4037c69cb13a2397ad49254c1c44745d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230303-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7d99063e15d2a2da56169a865c58f09323838f452b7c75f2bd001b9e6fe76a03
MD5 3fd1afcc00f5dcabed825ea8bde034d0
BLAKE2b-256 8c1250eeb8fcfa8a8c06ec9d41529b60c7b1e087a38c048b964b32557fe8c696

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230303-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 e30ff11d04f6d096080ac519adef3fcea5933a0a3ca83ef5ba4ba0ff3e7be545
MD5 0769b089b9eeddf00094b54c9d399d13
BLAKE2b-256 0347333aa7384d2cf9ab1c2331174e54027db2e5cf7491b868ba5a3e85e69428

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230303-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3aa651a20f2190be13eea3cf9c640bcb0b7acf06fff6dab01231d2555c2072fb
MD5 79c9358068149a988b93c7c469a2c009
BLAKE2b-256 7f3f4fd5dd9dfe9db3a5ddaeccf62b97161ac91892c8d3a6ab3aec47a9800ced

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230303-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.0rc20230303-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 210765d7684ec74063365ffce4643256f011b0b39efbda122d425c26f5276b41
MD5 1b7d58e91d21a9d0ca237c8e198ce337
BLAKE2b-256 45d33b8a631eb3902c18486ab8a696f85a02c7fcfd98bcc2eeb50c745d1c3231

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230303-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 18df568ea9611d8f6b30ec457eaaf9d1fdb74a35bb2b6106d9888f3fbe441f0a
MD5 bace138da17a641c68e5498b858b4219
BLAKE2b-256 fa3e9d7a03d47ae262f269fbafce98bb721876c05373734f0015012e276ad96b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230303-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 e1bb8180670c817a84144ed50b641a037db5293a8af0e1da9ef151e55301c96b
MD5 43044376f12086e52919770e2207414a
BLAKE2b-256 6d036e2b34438c2d1a67c2bc0be895067b4cbd4c68b433d957811d1fd40131c6

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