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

Uploaded CPython 3.7+Windows x86-64

eclipse_zenoh_nightly-0.7.0rc20230324-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.0rc20230324-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (7.6 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ i686

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230324.tar.gz
Algorithm Hash digest
SHA256 92dfe510a3636c346f01e6acc9d5edcc83d101a0dce313c4543151c82446a68e
MD5 9a79881266b24323a83780afd4db6d96
BLAKE2b-256 bbe06699772669e03e8b301ae00e27918733f0392fa5200b3d90c19e142a73c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230324-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ab581fb459ae82329f3facb77700526a725f1211413406cf85fe13bc8c822f72
MD5 80e181348800f8dfbe8d02573fc54b38
BLAKE2b-256 88de422eeca833dcf47edd5b63e8ed56cf36695af44825dc6afa7995df0be115

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230324-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 352bb364a92d94d0d9b6a41961d1245cde4eb87813790b5357d3392e45f0bfc2
MD5 15f82b0836ddcfa48250a5c72bfcedf1
BLAKE2b-256 dddfff86109c686eb816a7dd06d7b1bef49dbda6b1c041421c12f92b7b296d84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230324-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ac6f33f35cfcbde896d0455a706f85df09b3112dde427d8963f40392b9062bee
MD5 643842a5c60dadc697db5e1c26dfca25
BLAKE2b-256 216897b1bf0ad2627ec793a3f602a8a12cdb955dfb53ca687d0e26d4ab9603a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230324-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1da228b57367f3a50864a91add6a35f0bb9ee708f8db5fcccd7c35ef9e035717
MD5 5019d7b2d9144465503c16f9115cd3c0
BLAKE2b-256 dd38d41e8c6ab93a403fb114b65a1071dee076885d8056800b4301450796dd14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230324-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30e935d3a3656b5d8072f2c960e4dcbe9f90c14a01a4b0e156afa60a50d7270b
MD5 1053ba61643263ed5e9cd9a0ffa407b3
BLAKE2b-256 4503896223dcef8936af3b4f1e3bf8e2c5a4124adc6ae183008403d3ba5ce2d3

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230324-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.0rc20230324-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 90c0eec132cc1ff09179aa1bcd85e924bf7c86038a52e33c4d6bfb97c8468e47
MD5 aacb37899f8c9510306a3404e934c4c0
BLAKE2b-256 d715fbc4338607d0db5109b91f521c4ad55dfcbc440daf2325adcac787f28600

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230324-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f600d2e295684f15685520185d6df1a4266e32a76d58ff5e75da0a8e71289d5e
MD5 ee4e33fae4ccd44af3ad0642a13500f9
BLAKE2b-256 51a21c8dd9ea2cea0f80453b336a653b897d792b4409c5cbafae8187a5b60719

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230324-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 ef0570f4b182389e9670fd445c04db6785fa25d138e4f389d2a823d2d801f826
MD5 cbe1efaf53adbbce2e62b1c69e7e06d8
BLAKE2b-256 f4531246c69ed6830ab9b0b4594208709b7efdb0a5dcc58d25a3b85a9584661a

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