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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230314.tar.gz
Algorithm Hash digest
SHA256 c3fcfd17898c56b5f4274098db49b76f8dcd5e3b28fc9a3197c56ab302180f01
MD5 4b3643ee46dc97e55ac1e4db4c041e2e
BLAKE2b-256 d5e3cdfb844a2b98b08a02859d7a212ef45fdb21327a12ca1e0f75ef0b780ce4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230314-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 08b6617deb6228d2196c3162d6636f798a4627c513652ad12e8a26879028006b
MD5 e0ffd382e248e98b3250e0c99c169bd6
BLAKE2b-256 c86f18019a564b0f072c60d82f08707c5488880c2b820a80d1c91af35793f5c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230314-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f51f2bd8b12af22d7a7c50383312fd505f97efcb49451f20503a67327ca5f629
MD5 b90dc944f4b65afb77b7ed9d56df9b19
BLAKE2b-256 3a34ee8c3c9ee77e3e29922602c1e8d8edf59b479bd58b98891e3d69daeca28f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230314-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 41d348fd2ea50f32d017939b41375b7e6e1aff53a81ce50615ba03bc36764cb6
MD5 76d421ab2e23c9fa5f4ee5cbdde2778a
BLAKE2b-256 9119ac94fa1e456689b2c7529f5feb2866ba0b5421757175bfc74d57fb2915a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230314-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7e9b06d4afc24fe796f591b1db7f84b360719bc538037b9c2e720161908b51f9
MD5 497864210576450ca4b9056c0b0af545
BLAKE2b-256 a027b8d80fb5f38f7569b61ea288d2905e276519dbadbf42bce8c06554d4116d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230314-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a8e510a13f77b296739db8756d62095d0acc93d1ceb4ef0bccf0d076411a10a
MD5 54908c722d910ac382f383139b3af69f
BLAKE2b-256 710483d1e78e6c74c41fe5fdd41f49b15ebb3ed5c7c2c9193a1d3001081f4ab2

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230314-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.0rc20230314-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3014d658bb1ef904d0d2e0835b53f1988102fc0e174bc6224d8eafe1c966ef43
MD5 89f19fa1341f1b008fe08e46c53be34b
BLAKE2b-256 e88707a7f32ddcdb5d9f385642992a291a67402792f2adca0155018d31f66884

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230314-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 30acdfc22c9df25fcd025fd99b2572dc7823967e96d09fc3a26e1574ef940940
MD5 c3e4c442bae8b7ebce5bee2e11462d8b
BLAKE2b-256 a56dc65f7c33b4ecadf96f645525663594892a61a7b113d45850c5b8a7543e9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230314-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 d7d819e30ecd8280dc136ff507d12cd0f6849c0e70be16effa6b4867b5dce746
MD5 c299ce1a7db29ac75824923f37bdc056
BLAKE2b-256 f5b18f559b3a4e622e7b6f8d5d69ecc5df446ff96b3e7ceb858916fb87a1f450

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