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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230214.tar.gz
Algorithm Hash digest
SHA256 1fe6b1454f95097c620407ed51ac2959c694988b31de561d748dc806e5d8388b
MD5 5a91fbb9e54ac43e3e72a4fa14488d13
BLAKE2b-256 593212844c5532ec042d64001ea52ed83c1e6da7bbf703a54001c1a817e23c13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230214-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9b491319f5ff9b37bc31978e7273a0a46859707947aeed9e0f54e265652890c9
MD5 1522525f5166c99750b0cf7eb75408b8
BLAKE2b-256 a238ff28fa1537b2a28777954a00d30330ef94aadc0dba6320fcc5b83d714291

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230214-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76ad82d733725937790c59d6d30bc5b29497c04c9facf5bb113656acfad758b1
MD5 9b4361490adcbeff43ae121e7e24eaf5
BLAKE2b-256 7f015e6d6606a5762dad78c35d35cf5916b31e5212e2c92ed0a8d637933d0bfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230214-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 88c2d298a1324b2a71ed2e8dc41f2346004ab3385d1d8ddaf9dd20e485f9c060
MD5 96e208a5d7f1acc57bf01e5058931b4c
BLAKE2b-256 cc9a5d5c7fc22a6fa1eed8f99188ca2fe3f52fee44a86d865e4c6c9528cf4e57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230214-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 e73d96e95b303a6bd35601e4b7f282f6ef25adff8141c5c340d2619f96d54257
MD5 8bac93062e0d982937acc71717ebf460
BLAKE2b-256 5b770f340eb948659eab61ea40da59c4c05ededd3f6bfb9068101c4db6f95d11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230214-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b08f92f1b64cddc3e13bb8ff3832f9e8a75488f826f80f69dad6a2df6671b2a
MD5 f95e45de4f9a6ce64da52ae5bc4aab41
BLAKE2b-256 068bf590c47fb2c24e9cf07ab0476cb0ad29879c8e785d92afe309e0233b6089

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230214-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.0rc20230214-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 30c534e1d11ded4f6a8f13cb1753ecae1bd8f773e45fa1e6c2a86f6e988f1cd9
MD5 2b4feefb980164ec506b67f697bfd8bc
BLAKE2b-256 30e2deb72ac0ff5e3e9939f4bf70497413a0e8de75660ab387b7eac9cc85bdb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230214-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 6b7694f1779ccb512e637752280ceae788ab8fa297f9567c8e7687c6ba217ddf
MD5 24a1d88a8773c1b6e135684b535058bc
BLAKE2b-256 80e5a4ea5df0a47672602d80b5fc57580a6d1f439b191d12e60bb91898f653e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230214-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 8f009e5311dc36905bc5938bdd46e205be39ae7f654c00bd7a28673e74407e02
MD5 c923f2b6e48bbc9a00d40b455c6d3bdd
BLAKE2b-256 56cf320d083ae3ca3c4b55217d9b5c2fba8cb94be052407aa53cb3f2b34fafe4

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