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/zenoh/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.0rc20230124.tar.gz (114.7 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.0rc20230124-cp37-abi3-win_amd64.whl (4.4 MB view details)

Uploaded CPython 3.7+Windows x86-64

eclipse_zenoh_nightly-0.7.0rc20230124-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ x86-64

eclipse_zenoh_nightly-0.7.0rc20230124-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.0rc20230124-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.7 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARMv7l

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230124.tar.gz
Algorithm Hash digest
SHA256 493e6615fb0805b46a50db9d35d0646e3a371742cf4ba383355109e2d9ca5dcf
MD5 3b61c8549cf494188269b07eaaf614e3
BLAKE2b-256 50c410e202f19298d6ac0287c18e8d136af515698779de0ecd19e928c422cbba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230124-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 79709a21dcdabcfb4af48453406632455dd5ba1d868af56b843361b56e83a8af
MD5 2525ed033c9aa56b5ec6bca6d3f8c921
BLAKE2b-256 66cb550b295e22d54427b5870d3f39a7d86fdde9228b89c9106d8ed1cad0e0f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230124-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81860d771376aec93428a712787756d3c32d0aeeb3ad6f19a700510702114492
MD5 8dc9a94218c2702e8ae03d592259d9c9
BLAKE2b-256 9b18686af32f422c818f38a46740bca1727ebd0624a5c65f6b8a16b46d23e4cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230124-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9b4ce832df0ea94e7a804a0ad355a17e20d73e94bff29ff8163356ff32cfda2f
MD5 2d1bdf1d15be20968eb27cb9b2d8c8a0
BLAKE2b-256 be11b166c2731c2a2a8f0b95b733ed9f801873fcc421c776d824ae9ecb0cb264

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230124-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 06549ed22622a0bb26eb8822ad8699cfd0142197fefa623319e96c5f82765057
MD5 d8220891d59d5c23f4c8369ff90ffb1d
BLAKE2b-256 e58650df28dd9a38bb43039be0986cdf3aa4d5c18525076672bf68bacfeed116

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230124-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aa9ea5004d9951dea02d31af3fde75eeab4d39e9f4c4d27862d12ca169e1fdb4
MD5 6a31e594d37cfbe54ad70e975a522615
BLAKE2b-256 f7993cdc4d8a5374781a5ae55092a3ced92496c1f4b91ada1d560b8b9fa91c83

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230124-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.0rc20230124-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 50866c11942c6086a0a26bed43c4565e5267d8794ccc1e86a7ecaa48d667ed77
MD5 08ca6e7dac7362a28dd8e164331be29b
BLAKE2b-256 c5cb68ce2a6f5906755577b7313f45bb9e207592e627a2a15ca823fb9c3d4c94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230124-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 eed6dfa80940f047dfd5fec4b52d05a131681e69cde748c7c5d81562ef24e643
MD5 db964553589f8f16141b874833dac8aa
BLAKE2b-256 b95e4a5d5dd78a7fcedbfb8f14c81536596b88f3a4837e5ec9086d9067d15f6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230124-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 3e0ad4320bd62a8c0546beb38c3c914daedd1f9b8fc623d6e31f375d79d08871
MD5 25d8fb4ed0521ce99571ab418abe5094
BLAKE2b-256 bc38a5252d47f383b356e4090f7404571f3d148a186cdb205cde72aaa915cb6b

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