Skip to main content

The python API for Eclipse zenoh

Project description

CI Documentation Status Discussion Discord License License

Eclipse zenoh Python API

Eclipse zenoh is an extremely efficient and fault-tolerant Named Data Networking (NDN) protocol that is able to scale down to extremely constrainded devices and networks.

Check the website zenoh.io and the roadmap for more detailed information.


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

:warning:WARNING:warning: zenoh-python is developped in Rust. On Pypi.org we provide binary wheels for the most common platforms (MacOS, Linux x86). But also a source distribution package for other platforms. However, for pip to be able to build this source distribution, there 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.6, 3.7, 3.8 and 3.9.

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

Requirements:

Steps:

  • Install developments requirements:
    pip install -r requirements-dev.txt
    
  • Build zenoh-python
    maturin build --release
    

This will automatically build the zenoh Rust API, as well as the zenoh-python API and install it in your Python environement.


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.6.0_dev20220614.tar.gz (107.0 kB view hashes)

Uploaded Source

Built Distributions

eclipse_zenoh_nightly-0.6.0_dev20220614-cp37-abi3-win_amd64.whl (4.6 MB view hashes)

Uploaded CPython 3.7+ Windows x86-64

eclipse_zenoh_nightly-0.6.0_dev20220614-cp37-abi3-win32.whl (4.2 MB view hashes)

Uploaded CPython 3.7+ Windows x86

eclipse_zenoh_nightly-0.6.0_dev20220614-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.9 MB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ ARMv7l

eclipse_zenoh_nightly-0.6.0_dev20220614-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.1 MB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ ARM64

eclipse_zenoh_nightly-0.6.0_dev20220614-cp37-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (7.2 MB view hashes)

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

eclipse_zenoh_nightly-0.6.0_dev20220614-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (7.6 MB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.12+ i686

eclipse_zenoh_nightly-0.6.0_dev20220614-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (10.2 MB view hashes)

Uploaded CPython 3.7+ macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

eclipse_zenoh_nightly-0.6.0_dev20220614-cp37-abi3-macosx_10_7_x86_64.whl (5.3 MB view hashes)

Uploaded CPython 3.7+ macOS 10.7+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page