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

Uploaded CPython 3.7+Windows x86-64

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230228.tar.gz
Algorithm Hash digest
SHA256 42d4d1a7daaba8df4fc77f5a46606b1714d440a76625b8650bedf3c6f07c8604
MD5 022c11ca8081ae7bcb9d854f36f9b36b
BLAKE2b-256 d890e444c40018d52d6f01ae86b53706a54861bb37330e8f5e8dda86ecff342f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230228-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 82a74ed82318764a9ceceb40cf194987c76d2e4ca6f87eb70a7f574de36f7227
MD5 f88732c709cfc919a93a691fe3ff2950
BLAKE2b-256 c7f976d3071c54e1bf20cbc9be763a7157748c14f478119dc8a8c297896466a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230228-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 561996b3dac9e5f940f598d30af8e070cebff1abff11d88652fa6267f904bc43
MD5 7b4c98edffb8bb31e6d0a43ac592981d
BLAKE2b-256 e7c3e145fc4d8309ab994f1187268675067d31a3e5ec3d4ea56c6e488b605826

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230228-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b4907272109076a272972752972bc876f011a29c431d8209547aefcbbcf018b1
MD5 1bf589a674a4618e9931e3dcaba0ed58
BLAKE2b-256 6e5158b949cca33bba6ec33357ffb2bad24dd9fdabbacfab06a52385480f6188

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230228-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ba7a50d106a12b9a846acf832f919544ce771c7ca6b5d11314b297babd82ed35
MD5 c2c4fedf5395f920ce89c708c7c76cd5
BLAKE2b-256 bd033e2782a730ed891558163356e12fa080cfdc44639771a66d22b4770bd6da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230228-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ba69ffde3dea6f4f737f6bd9712b7ea6bc5b97f96844539eb0464f96d0a40148
MD5 24eb887456ce67250ae634052373bcb0
BLAKE2b-256 b4ed8412cef52e7e35ee63ec3a74519a77a601e66f0d16c6b453348a8d0a198f

See more details on using hashes here.

File details

Details for the file eclipse_zenoh_nightly-0.7.0rc20230228-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.0rc20230228-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5469b7fdd7b36514b64f73b7a46d83a6c9f37fd9e3244b683b9c3f972b0877d5
MD5 75863a1d88e60bf641080231eb59dfbd
BLAKE2b-256 8cf573da76a9f77ce4d24d54d89af3672c72467803c4422ed84df10082f2323a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230228-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 8b7ff915fe8d8ecb9bb72581f6037286120e46621a7dfca51a5c086dd0d5fb31
MD5 9e28479fa95ddc6a2b76c78efc5ef416
BLAKE2b-256 e26048660c87c97b9cad372704350b57baa4d8d0ef7e4b9f051d4f6fc3f96a2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for eclipse_zenoh_nightly-0.7.0rc20230228-cp37-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 5aed6a121abe92609be26220c10e33b611f0df4af556bdbec1e89952cbf29a37
MD5 87929aad2116337c12a82ba4b08c412f
BLAKE2b-256 11cf281954c907899b29b087ac50b924890b8a468f6b830e76b02c3394b9adcf

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