// the find
eclipse-zenoh-flow/zenoh-flow
zenoh-flow aims at providing a zenoh-based data-flow programming framework for computations that span from the cloud to the device.
Zenoh-Flow is a dataflow programming framework built on top of Zenoh, Eclipse's edge-native pub/sub middleware. You define computation graphs in YAML — sources, operators, sinks — and the runtime distributes execution across cloud and edge nodes without your operators caring where their inputs come from. It targets robotics and autonomous systems work, particularly as an alternative or complement to ROS2.
The YAML descriptor system with composite operators is well thought out — you can nest and reuse operator graphs, which matters when building real pipelines that get complicated fast. The separation of concerns between the daemon, runtime, and node API is clean; writing a node is just implementing a trait, no framework internals leak into your business logic. Built-in shared memory support for zero-copy data transfer between local nodes is a practical optimization that most similar frameworks bolt on as an afterthought. The zfctl CLI for managing instances across a distributed deployment is genuinely useful for the target use case.
120 stars for a v0.4 project with an autonomous driving demo suggests this is still primarily an Eclipse research output, not something with real production adoption — the bus factor is real. Documentation lives in the GitHub Wiki, which means it's unversioned and frequently lags the code; the getting-started guide links to v0.4.0 explicitly, which will silently break when the version changes. Loading nodes as dynamic libraries (.so/.dylib) means you're dealing with C ABI boundaries and the linker pain that comes with it — mismatched Rust toolchain versions between your node and the runtime will produce cryptic failures. The framework is tightly coupled to Zenoh as transport; if you need to bridge to anything that isn't Zenoh-native, you're writing a connector node, not using a plugin.