Skip to main content

Crate streamweave

Crate streamweave 

Source
Expand description

§StreamWeave

Composable, async, stream-first computation in pure Rust.

StreamWeave provides a powerful framework for building data processing pipelines using a flow-based programming model. It enables you to create complex data flows by connecting nodes together in a graph structure.

§Key Features

  • Flow-Based Programming: Build pipelines by connecting nodes in a graph
  • Async-First: Built on Tokio for high-performance async operations
  • Type-Safe: Leverages Rust’s type system for safety
  • Composable: Mix and match nodes to create complex data flows
  • Zero-Copy: Efficient memory management with Arc-based sharing

§Quick Start

use streamweave::graph::Graph;
use streamweave::nodes::string::StringSliceNode;

// Create a graph and add nodes
let mut graph = Graph::new("my_graph".to_string());
graph.add_node("slice".to_string(), Box::new(StringSliceNode::new("slice".to_string())))?;

See the README for detailed documentation and examples.

Modules§

edge
Graph and node system for building data processing pipelines.
graph
Graph execution and management.
graph_builder
Graph builder for constructing graphs with a fluent API.
graph_macros
Macros for declarative graph construction.
memory_pool
Memory pool for efficient allocation.
node
Core node trait and interfaces.
nodes
Collection of built-in nodes for common operations.

Macros§

graph
Declarative macro for constructing graphs with minimal syntax.
graph_parse_items
Helper macro to parse items (nodes and connections mixed).
parse_connections
Parses connection patterns and generates GraphBuilder method calls.
validate_node_name
Validates that a node name is not “graph”.