iridis
iridis is a rust library for building dataflow applications. It provides simple APIs to:
- Make a standalone node in Rust
- Assemble nodes into a dataflow graph
- Customize the runtime with plugins
iridis is inspired by both dora-rs and zenoh-flow, two projects that focus on dataflow programming. It aims to provide a more lightweight, up to date and extensible solution for building dataflow applications in Rust.
Features
-
Fast builds:
iridisis designed to be simple and easy to use. It tries to lower the number of dependencies and the complexity of the code so that each time you want to try your application you don't have to spend dozen of seconds to compile it! -
Fast, that's all:
iridisdesign is based onshared-libraryloading. So that each node is in fact the same globalprocess, allowing for sharing data effectively. -
Async:
iridisis built on top oftokio, a powerful async runtime for Rust. This allows you to build highly concurrent applications with ease. -
Extensible:
iridisprovides a plugin system that allows you to extend the runtime with custom plugins. This allows you to customize the behavior of the runtime to suit your needs. (seepyridisfor a example of a plugin that allows you to usepythonas a node in the dataflow graph)