The python API for Eclipse Zenoh Flow
Project description
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-dev
or
python3.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
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 Distributions
Built Distributions
Hashes for eclipse_zenoh_flow-0.4.0_alpha.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e766e53104d081aef9752aa04c42ec0ca176f3e0416d9d955bf891b84ab3650d |
|
MD5 | 06ad7e3c7ab7f0310999a6ddcb604673 |
|
BLAKE2b-256 | 32b89a6ede3a8b3293e3699f7ad7ec0b7a6eb895e95b838d4acb5ead175a4407 |
Hashes for eclipse_zenoh_flow-0.4.0_alpha.1-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe93c0efa4c15fd11681e1a147371b7eb31092b9bb4a265e8a90026897596756 |
|
MD5 | 41dfd09f83096761dad115595b2930b7 |
|
BLAKE2b-256 | d45f00c56b3e549b39bab967705e0cbb36f35ab29be9ae6632cc9ad0a716070b |
Hashes for eclipse_zenoh_flow-0.4.0_alpha.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b87ee654c11ad8441ef65e5d1c1f6e8a697f006b2932183a704af510e283dfe7 |
|
MD5 | 864f9b620e3f198398f3377fcb663db3 |
|
BLAKE2b-256 | e4fe4a40e89b2995f489f68004e3ac6c947e1ba5444617da591b300d87b7979d |
Hashes for eclipse_zenoh_flow-0.4.0_alpha.1-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1e8ed9e42005fca16ab99d14ae2bb848fd4d2ccbea79a6af5d33238a7949179 |
|
MD5 | ebc0049db5dd7bf8399c3837d58c69ee |
|
BLAKE2b-256 | 9942eabada4fd63fbd3f0b97b0618acbc6dc8733d48c6b26c1a133b02f7366ce |
Hashes for eclipse_zenoh_flow-0.4.0_alpha.1-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c973bf9236ea5080dd0a571d67cfa137b5861cae62ca7abf39b0d450952ef5a |
|
MD5 | 03f622ef4db76fa38df0842ce1aa3fd8 |
|
BLAKE2b-256 | 97d2ad12c3780b26f263b9a5a70a9d98be223c26de2d110bd9db907c5ed93f30 |
Hashes for eclipse_zenoh_flow-0.4.0_alpha.1-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff13dc273052244587712d03c381b3487273283da8499123e0fa733b28dcc8b6 |
|
MD5 | 7bf52523129fe45e258118e6b89dd440 |
|
BLAKE2b-256 | d75e200ec09edf4f5781733e4c70857862e9326d77f29bc0add13d70731ba6b6 |