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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230210.tar.gz
Algorithm Hash digest
SHA256 aa5b3240e9edcf82cee30d6f43fa2a01f9912cd998239ad402246a9992f45033
MD5 c64dc2d9acfded75ece3ee6406be213b
BLAKE2b-256 95dce70804615e5f509ba45c86893ae3f3e16eb49b8af2a0763957cc65fcd44c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230210-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 45736c640d3fcce21f62a826d396e23cf382cd8237187dcc5289fb19ba97a4db
MD5 aa90d9c817fe315ccdc3d3a89bad4c59
BLAKE2b-256 0f2e982c6e7f7e347b706db6bd1214bc9ab8368b750c652efd140accfb59e7f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230210-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 657fc6de7f0961da739315920b5d814beb3e2a907c731893e270908d5629fe6c
MD5 f884d1cd16b0eff3fdf162f028c8133a
BLAKE2b-256 31aa50af121d1ee1d590d5286c0876a085869c4e893a51892a3ee31a64ab2c5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230210-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 eba98c5d0f8defa4f2b5115eddb2977b86efc71ab83ee2037bfb1f363ea4f0a2
MD5 bb437792ce55dba5c12bde4a4d8d60a2
BLAKE2b-256 8de3616d14527a25552649a297dce176167bfee53faa614e657fcde9578a776a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230210-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 28e979fd572821578f8831a4369ffb10085e9f41a568fa5ae0956bcc1aaab572
MD5 b63392ece074f7ad726def6910bd4c45
BLAKE2b-256 9693b5d9461f43bcb216d448c2111a0dd2028e24f1d9aef4438f4a9e6d3e9a2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230210-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d250080e08a8d0e6b3ca704408356987ce7410ef80bd9d168773b76c1d420863
MD5 febbc6a8186a5254eeb0afcb4b9b06ab
BLAKE2b-256 191e121ab38732e82716853a8193ddaba8fb735de14587c2c80d27daedb7a623

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230210-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.0rc20230210-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 801f2b76ef4504a8bffb7a7e1e4abd1a0185720bd16520e6fdcac76b2cd27636
MD5 70d3907d72207fce4b538a316a323e43
BLAKE2b-256 6e50effdabaded564e5aa9aa2db17da9f60a419e0326a87710d44caab53041c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230210-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 7a075d7cfdf55768f3c6da051f26ab0f3b432066cc32cdbb3bb016b8c3539b24
MD5 2790b59deb08c0876a67f7ce1dfa4088
BLAKE2b-256 46477c6d7792e3fd7050563722134f3252f3fb91a03c6a3f7c6ae53857f3018b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230210-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 df19d15882b46a0ecc524ffa6b8729929508458c979faea9d0b6a33aaad1c1da
MD5 8f45a0611d22a48a3f6f6e93f8cc42ec
BLAKE2b-256 8ae330116faf63e37db40a1cae5ec00420a405fab7b1987509bf8be43e5292a9

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