Skip to main content

The python API for Eclipse Zenoh Flow

Project description

Discussion Discord

Python Zenoh Flow API

Zenoh Flow provides a Zenoh-based dataflow programming framework for computations that span from the cloud to the device.

:warning: This software is still in alpha status and should not be used in production. Breaking changes are likely to happen and the API is not stable.


Requirements

  • Rust: see the installation page
  • a matching version of libpython. On linux systems, it's typically packaged separately as ``libpython3.x-devorpython3.x-dev`.
  • Python >= 3.7
  • pip >= 22
  • virtualenv

How to build

Create and activate a python virtual environment:

$ python3 -m virtualenv venv
$ source venv/bin/activate

Build the Python Wheel within a Python virtual environment.

$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ git clone https://github.com/atolab/zenoh-flow-python
(venv) $ cd zenoh-flow-python/zenoh-flow-python
(venv) $ pip3 install -r requirements-dev.txt
(venv) $ maturin build --release

Deactivate the venv and install the python bindings.

(venv) deactivate
$ pip3 install ./target/wheels/<there should only be one .whl file here>

Build the wrappers

Build the Python wrappers.

:warning: Python Wrappers SHOULD NOT be built within a Python virtual environment

$ cargo build --release -p py-op -p py-sink -p py-source

Build the docs

Once you have installed the Python binding you can also generate the documentation.

$ cd docs
$ pip3 install sphinx_rtd_theme sphinx -y
$ make html

The docs will be available under _build/html/index.html.

Run an example

Clone, build and install Zenoh Flow, and then use the provided py-pipeline.yml example to run it.

:bulb: Note that you actually only need to update the paths in py-pipeline.yml file.

$ zfctl launch py-pipeline.yml

Project details


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_flow-0.4.0_alpha.2.tar.gz (9.8 kB view hashes)

Uploaded Source

Built Distributions

eclipse_zenoh_flow-0.4.0_alpha.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (768.3 kB view hashes)

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

eclipse_zenoh_flow-0.4.0_alpha.2-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (786.4 kB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ ARMv7l

eclipse_zenoh_flow-0.4.0_alpha.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (760.4 kB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.17+ ARM64

eclipse_zenoh_flow-0.4.0_alpha.2-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (782.3 kB view hashes)

Uploaded CPython 3.7+ manylinux: glibc 2.12+ i686

eclipse_zenoh_flow-0.4.0_alpha.2-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (766.6 kB view hashes)

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

eclipse_zenoh_flow-0.4.0_alpha.2-cp37-abi3-macosx_10_7_x86_64.whl (391.3 kB 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