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

Uploaded CPython 3.7+Windows x86-64

eclipse_zenoh_nightly-0.7.0rc20230127-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.1 MB view details)

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

eclipse_zenoh_nightly-0.7.0rc20230127-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.0rc20230127-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.7 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARMv7l

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230127.tar.gz
Algorithm Hash digest
SHA256 b3db174f1a46c03cd3d6b602297cb7e175aa6d4f4fecb6cd31bf9a50d4945235
MD5 71f3b7b3822ccc329325452a1f4d89ac
BLAKE2b-256 7470f00399ab688ad6a82177c1ba25980e96c20aab7250f30224c8bbd3fbf07c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230127-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 05ecbaf02abd9c90e477b690ed20f9663bcf38114062dd0a4d9f404b4df67846
MD5 d41332e0fcb90082643f0ab87186cb9c
BLAKE2b-256 e132a36214a685bf90b294894d05e9f7406530b5a80f958d8f3e760049c59c6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230127-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f8ab5c7030d9a568510594b46f83e9cf389fe2d7238150cb00bbef1afebf215
MD5 a84cbcb1408c56687fc452f4dcd41f12
BLAKE2b-256 ff51f0533af41720f061f4fffb25b5e325ab3d2aff2059d5de8052d50916e246

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230127-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 787a50f547b9ca2da8334c0e62e8e878b528a1e380a39718fff1b61de10903b7
MD5 615859d86ea8e9ab0d3fd38de70bf3a1
BLAKE2b-256 3782727b6d9550ed87a3252057f0100aef6eaf713b3f3631a216d47ae8aa4c27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230127-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4d6d96df501ea8b72c67f59527017a1a566be5ca7bc80a3da81c1b168bd096c8
MD5 2cb50006cbb919a5cf9981dfc69598f1
BLAKE2b-256 497192cbbce1acaebca8e53eb5224450ebae50c8ad25cc37d1a6a765d644677e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230127-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a1ed815f3964d8f205e089207cbc1199ccf9a156fb5d1aafacf628a5e47cb04
MD5 76f90fe63ab5c94652c0430471bef6a1
BLAKE2b-256 e089e53af49cb35f489fcdeb5854633f37c4f644f526c943aa23c5a9684644ad

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230127-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.0rc20230127-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 557b700146f4474538e39935202911c2a6163cb2fe213303af628f3eac2db29b
MD5 ac8eec239e6bf4e1587615a593473300
BLAKE2b-256 1b95a9b40ac178558aa40b50fc119e81c0812d6f35898885da34af4884731aa3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230127-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 bd735ce98abddb18347be70039e124567e26ecf7178628a1c8e939635b69cd2a
MD5 05196220e0946f74038375f420bd46a0
BLAKE2b-256 1cb5e77ab9ba9d8694ddc6b7e097b021ef59e6bd5de66331031f1cea8b41b6f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230127-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 7ac3293aed01fa2adf948f7a916c7b21cfe3b5120655f0249b8d8d998fef0ddd
MD5 5ecd27ba62e814f25374b7fb65370b3f
BLAKE2b-256 d4bf4dbff0adfe9fe72c6b341d984b8e9512215efbc4589ee7f03ee7731ae00e

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