2 releases

0.6.0-alpha.1 Mar 29, 2024
0.6.0-alpha Mar 25, 2024

#5 in #zenoh-flow

Download history 80/week @ 2024-03-19 169/week @ 2024-03-26 50/week @ 2024-04-02

299 downloads per month
Used in 4 crates (via zenoh-flow-runtime)

EPL-2.0 OR Apache-2.0

105KB
1.5K SLoC

Eclipse CI CI Discussion Discord

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 traits and structures necessary to create Zenoh-Flow nodes.

Items not exposed in the prelude are meant for internal usage within the Zenoh-Flow project.

[prelude]

Application developers wishing to create a data flow should include the [prelude] in their code-base as it regroups all the required structures and traits:

use zenoh_flow_nodes::prelude::*;

Next would be to implement, as different shared libraries, at least a Source, a Sink and possibly some Operators. See their respective documentation for examples.

Dependencies

~10MB
~195K SLoC