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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230221.tar.gz
Algorithm Hash digest
SHA256 3d46fa1cac7617fd01c49369245e9db8f545bd9a5a7fa79a3bdab1f22b220b3e
MD5 ff2f036d51b11a91766f8d419bbc087c
BLAKE2b-256 0a12ce7cf3ff9fa2a24f03d91ba2ea32d8aa732a0309d8a8b5f282da55a2d86a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230221-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8443c5ab16be7c3ec8aff3dad2dd39ac2b0febb28083e40a0ee2b20f15ffec61
MD5 984c99e8e0f08cea0c18be44ef2e777c
BLAKE2b-256 a481977a88fc01785505627677ffa51c9e41eb648743e19a508e8c5d2efe3710

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230221-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d60cb1568e39b521d4e57042d9041441c6ce733f4ad4dd65f6f85a4780879223
MD5 7a9f76ff19fc0d07337933cb67cd07f4
BLAKE2b-256 8f59e7ff701cec7b0ce785de82036ea8482b069b984a824b2da03aaaf031c7d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230221-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c674cc3e6614450e4eb3a0f037980e9a2c5ebdd66b3ed1635071577e29114266
MD5 6e39e1e50146ceff40fdc9de97a592dd
BLAKE2b-256 356cfb7347b9003f0f69dd58d526795684ec3d12de472ccc3e6fa4c9246b96f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230221-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 25e77645cd2aedc6657b9f73929407b503e898d202e05ba9e19005030e07ec47
MD5 2f13c8057abc6f15f287967304d17e2d
BLAKE2b-256 2d7bdb5b02875b1f5b19deaf7b054750b09f3b7d646fcc4560185b14dc31e255

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230221-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30f69447ae75c26335fbdb21fa5c084501b21705f3e2ffca5616c84f1318af80
MD5 4e9cd16f25eebdf26a539ed6e1914f9d
BLAKE2b-256 e2ff33bb8e939ea16e9313ed0908cd3a30873edfd7dfcf400a7e3084d7234208

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230221-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.0rc20230221-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8b43165763e3d2afbc058700a63d33e88b5f3ffc2c7862f6dea5a0037894a58b
MD5 9ed55150f1cacdb37f58a2949e5cf013
BLAKE2b-256 24274124debfd082091747ac2dd3ce19c9d7319f943d6dc45bcc74f3470529bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230221-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 b2442707caa671cdc0e98efeb28c2afae3a054339a89522f53fc0831a470da4d
MD5 5953421b2a542505971f6e708e869ed1
BLAKE2b-256 fd56355e87e1baa74f67d3c2e0e6c4699a438a20f3242fba81e3ff3abb9eb4b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230221-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 2488612baaf54691faa086c9c2e9c7937227de8071b78d549db7293305944a33
MD5 9abfb2b2b36294453faaec498469c5a9
BLAKE2b-256 69d251d42c1334fd6d12c78ef85d37374ee6b1cb76730d1569f92eebf287d134

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