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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230321.tar.gz
Algorithm Hash digest
SHA256 d3b489f280b1c7e650f6f594b1a17673a863f2337c8863032c1aa27fb5d4772a
MD5 b65989b311edb5036dda596466ae651d
BLAKE2b-256 0e3aa6b4b5f6fb7fc73255c2724c28186b349cef115e7d2297fa67c42ddd5a10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230321-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 535e7735865f1f294191046a560eb7f68fc3ac7f31f6b2e879bdad4bb680ba19
MD5 65e70793c9000e6822fb18a4a5acf1c8
BLAKE2b-256 3e1a6621ffd6c849139d1ff304ef36a56bf19bbee664185e8d2a466f8fd08c3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230321-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99cbe9bcc8f80eac29cb1b554c5816b0ff615be91bfa7d72a98373766edde432
MD5 4eca06fb60985f4f6f281826baa5c14d
BLAKE2b-256 9ab4b305795d0aa279840d624a6b0c9bb0c2d82c6d76445752bd2248254a15f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230321-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c0c3b60477b1413512ddb1e19ada6cc06393944fe2449ef13cb885d38f73d943
MD5 ee5ed18a681e25cad2b7c07c969b9e98
BLAKE2b-256 e4eff56eb5596a4a02e5f623a10f882d7c474b79b2f2ec6c6c8aa807d708b1bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230321-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0f5e3272af49db33283fa9da76c894320c5e9c3532e60bc48be99b0c65ce733c
MD5 15b90bee9ab346309e89b0cb6a9018ff
BLAKE2b-256 f26a5d89dd01a42b0f47ecaf3f77b66cc99da42a5a921c48a53975f272e382cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230321-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bc2a663a94ba08ba1eb8ce68abb0f2ee266bdb19e1d4f000ce9ad2b6daa4ba3b
MD5 1282bcfea18b0d6bf6c4c006392fb4fa
BLAKE2b-256 d2b9273d6030a176695c820a56a4bf9a23bf5bca96de23335935eaaeeec8f2a5

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230321-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.0rc20230321-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ebed2dbc29385c6e32f8205f8f1eec12e3303172aaa64bfef1cecd364f1c0dbe
MD5 2f670efa2c1794bc4c1eb28bfd5fdce8
BLAKE2b-256 b19eb17377079d0369ceecb7a868f9e1262fde846c9083e38a289e95c3d47d16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230321-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 53d20f9811262f6832f82f0fc968725dfb98b009ade6afe473d08b90a54978c6
MD5 664c26c18fd30c45a868feff633c4117
BLAKE2b-256 f563d1e50d7f861f7febbff36d0aa64949d57b5f2d3a32a3412d92103e5e2380

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230321-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 ee8efaa1bea79d112cfb82fd2a373f7bbeb1cb2504ff4e4d4f30df8cd490f03a
MD5 2fdc28c17697e4678716cf2b55540ea4
BLAKE2b-256 7b4609bd47b50cd1bca85134d31fb033c400fc43a838782682801e1095ff2b49

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