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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230217.tar.gz
Algorithm Hash digest
SHA256 a0992a9fe72439fc5a0c2b8b2f3ddf3d8ab5034f2bd5ec18ec9033f5ff965947
MD5 4284cb7484605b529bc5d28241ddaf9b
BLAKE2b-256 f8c7b98cb78ab03fca46c05915e6a5d896b652e417bc622e12c5a4b7d69c668a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230217-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 040655297274beb0cbd79de18565bfbfa147c6bdfc3d225770426e0cbd39473d
MD5 dd4ce77de166bd85e1dedf46969b63b6
BLAKE2b-256 e3c973625803720e6809513faf2bdf193dc840a82a03d5af652dd96ae967d84a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230217-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e19b95cbac0f83d5fd949a5a664779f6e23b6266d1943f17e283239f633ab1b
MD5 d17dd6538199604ebad89f3775345eb7
BLAKE2b-256 7baf5908e2b2f8beac831e92b0ac14b5ec50a8dcfccca540500ad239a9559d3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230217-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e466695e6017b8d908b62cd077e970891aabf4470ecb0eac46478e60fe880fef
MD5 ae78a5cd7824ea1737b30fc0a2fe9290
BLAKE2b-256 ecb5d45b3e074f2cc98723e42f12c4a360e44278664cf81abbb3162f32d96fc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230217-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0913cdf1bc4ea9d0c326a168ab3bd7650f4402d854b264957a6f45f749324941
MD5 9efa13c9c9221ff25516837543f503a5
BLAKE2b-256 c1d793b44c2e67978fcd82295eb7c16e1e31b7497f84fc98914969c131af4792

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230217-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ee44f20f695bd7ada6ca285f278158984ac1b9a516d11e220b18cbef3f69f8f5
MD5 875b62e009a483cc99ba5de0674d258a
BLAKE2b-256 395ce85984ef189c4199d1594f676e419908334fb6f145d549f3ac64564dfb62

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230217-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.0rc20230217-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 86755fcae11d67777226ee6378c11949da9440620bbd42b8d323ee926752895f
MD5 a5557991b7ce851732bfb007c128b745
BLAKE2b-256 a05f003f3d32dc8f2f5c621f8352867a93cd51c9c0a4b376a7f836f9c639629c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230217-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 90bfbc3293bcc37fe0ac6118c3df1f9b24680b872a543e720e500e141f0ddfbe
MD5 453423d0195926764eb752ceeec60d1b
BLAKE2b-256 6a3fbc43fd5965d472289a9f81eb39c8cdf7d2b407902113028bc8a6d7667b68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230217-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 2a21db974b0fc7fa727b2c89ca60d58aa1e9c876da72eb40c97fdf68ef6c71c9
MD5 8b4a0c8e7d97df3c737249a527f7b406
BLAKE2b-256 e2b40bfc6dc082ffd0754f56427f6c612336ba05b152b0c53c107897ffb43b99

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