Crate hydroflow

source ·
Expand description

Hydroflow is a low-level dataflow-based runtime system for the Hydro Project.

The primary item in this crate is the Hydroflow struct, representing a Hydroflow dataflow graph. Although this graph can be manually constructed, the easiest way to instantiate a Hydroflow instance is with the hydroflow_syntax! macro using Hydroflow’s custom “surface syntax.”

let mut hf = hydroflow::hydroflow_syntax! {
    source_iter(["hello", "world"]) -> for_each(|s| println!("{}", s));

For more examples, check out the examples folder on Github.


  • pub use variadics;
  • pub use bincode;
  • pub use bytes;
  • pub use futures;
  • pub use hydroflow_lang as lang;
  • pub use itertools;
  • pub use lattices;
  • pub use pusherator;
  • pub use rustc_hash;
  • pub use serde;
  • pub use serde_json;
  • pub use tokio;
  • pub use tokio_stream;
  • pub use tokio_util;
  • pub use tracing;
  • pub use web_time;


  • Hydroflow’s inner (intra-subgraph) compiled layer.
  • Hydroflow lattice and flow properties, very WIP.
  • Hydroflow’s outer scheduled layer. Deals with inter-subgraph runtime data-passing and scheduling.
  • Helper utilities for the Hydroflow surface syntax.


Type Aliases§

Attribute Macros§

Derive Macros§