1 unstable release
0.6.0-alpha | Mar 25, 2024 |
---|
#6 in #zenoh-flow
152 downloads per month
Used in 3 crates
(via zenoh-flow-daemon)
360KB
6K
SLoC
Eclipse Zenoh-Flow
Zenoh-Flow is the union of Zenoh and data flow programming: a declarative framework for computations that span from the Cloud to the Thing.
⚠️ 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 yet stable. ⚠️ The documentation is still scarce. Do not hesitate to contact us on Discord.
Description
Zenoh-Flow aims at simplifying and structuring (i) the declaration, (ii) the deployment and (iii) the writing of "complex" applications that can span from the Cloud to the Thing (or close to it).
To these ends, Zenoh-Flow leverages the data flow programming model --- where applications are viewed as a directed graph of computing units, and Zenoh --- an Edge-native, data-centric, location transparent, communication middleware.
This makes for a powerful combination as Zenoh offers flexibility and extensibility while data flow programming structures computations. The main benefit of this approach is that this allows us to decorrelate applications from the underlying infrastructure: data are published and subscribed to (automatically with Zenoh-Flow) without the need to know where they are actually located.
🧑💻 We are currently keeping our documentation and guides in the Wiki tab of this repository.
Installation
Follow our guide here!
Getting Started
The best way to learn Zenoh-Flow is to go through our getting started guide.
Examples
We encourage you to look at the examples available in our examples repository.
🚗 If you still want more, we also ported an Autonomous Driving Pipeline!
lib.rs
:
This crate exposes the structures driving the execution of a data flow: the [Runtime] and the [DataFlowInstance].
If the feature zenoh
is enabled (it is by default), this crate additionally re-exports the structures from
Zenoh that allow opening a Session asynchronously.
Users interested in exposing a Zenoh-Flow runtime should find everything in the [Runtime] and [RuntimeBuilder].
Users interested in fetching the state of a data flow instance should look into the [DataFlowInstance],
[InstanceState] and [InstanceStatus] structures. These structures are leveraged by the zfctl
command line tool.
Dependencies
~27–62MB
~1M SLoC