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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230207.tar.gz
Algorithm Hash digest
SHA256 781573007e6dc1628148da52720d158495572ed8137c1e89bf0892ffb634479e
MD5 8c53dc67bfe19c2d2e2e0d242c887bde
BLAKE2b-256 d0be3c4329a58df84ada8306cdc683cf3ab3d914846426ad4f242d4e48d592bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230207-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 926e7708875baad1fa6541c833e52d0161165366e4d634e2128990d87b69f846
MD5 2d4fc1d1893615fe771ec0541ed30ea7
BLAKE2b-256 5573cf36b373c6e8b4f02417e36a83d9a8f157fe4b4f7bc14fa268fbad121991

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230207-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1471dec45e2119d8feb49bad8a9ea5ff3cfbacdb7695785456421405b7b1dbc0
MD5 10410f46a97158b95ad47562f0ccd8f0
BLAKE2b-256 51a249211b94a904ca8eed345f4c45bd5e995cd19ff047e17d25c8dc789b955a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230207-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 07cbdbca4080e43600581892c32e9d2dd3ea4fcf4e71b5b0d147d71a0ba39a80
MD5 ea3e08cfbefb58a2a56a67a569bf4086
BLAKE2b-256 f28026f633d10c5cc91adbbdd57fb5fc5c8c17b4e8071e42f3d6454ca422df97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230207-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8b01a04c70df88ca70a2184b58f244254c6930896496fc1afeff3c548a2b9456
MD5 ebdd26d4fe800ee45f8439dd35deb062
BLAKE2b-256 44f35fb47e1281d8eefb4c74cc245b4206ef3fe0b2efd43a4ce2a0703ac81a44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230207-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 db9638e2333727f6d6d77f07869f117b17f0df7f70d61119e7575b6193da1902
MD5 7c32b7850542867ff2e229d32b2d18f0
BLAKE2b-256 c9322f89d5a5173e0e68e1bd4d18887725e0c68fa410a3cc102e3e050eed3d59

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230207-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.0rc20230207-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 422808e454cf8c19686d8396eac59127e5eac0656a7ad1ef5ebc28fb8ffdb4f6
MD5 04fe88475d049b7a74d11ced6dec7802
BLAKE2b-256 6e81a81b9baec25b857e843499113ec4d41c1f8f5a9310fb32a955e101343c44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230207-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 dc207a4716ca25478b0076ac835e1ce00655cf0e43b5dabf4232db024cd31a7d
MD5 6aeac476310dd6249d8754844ae6703b
BLAKE2b-256 1ccff0084b28cf285a61a5f0574328e27780fe548ee2dc3c21cfd63c4eaceb33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230207-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 94e7d46598ad6b8772ce1cb361794385f443bfa37ae3d508c0b8589f9f749d4a
MD5 bff0a4c346d745a1a95b09b5d426aa5d
BLAKE2b-256 5e64273b80307ab2727189bca7a752f89f707209e36200dd60ef63aedcfadef8

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