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”.