Wavelet
A high-performance, graph-based stream processing runtime for Rust that delivers deterministic execution with zero-cost abstractions.

Overview
Wavelet is designed for applications that need predictable, low-latency stream processing without the overhead of async runtimes or actor systems. Built around a computation graph where nodes represent stream processors and edges define data dependencies, wavelet provides:
- Deterministic execution - Same inputs always produce the same execution order
- Dependency-ordered processing - Guaranteed that parent nodes are always processed before their children
- Event integration - Unified I/O, timer, and yield event handling
- Dependency injection - Build-time configuration for different environments
Quick Start
Add wavelet to your Cargo.toml:
[]
= "0.1"
Create a simple stream processing graph:
use *;
use Duration;
Architecture
Core Concepts
- Nodes: Stateful stream processors that transform data
- Relationships: Define execution dependencies (
TriggervsObserve) - Cooperative Scheduling: Nodes yield control after processing
- Event System: I/O, timer, and yield events drive execution
Key Components
// Build a computation graph
let processor = new
.triggered_by // Execute when source changes
.observer_of // Read config but don't auto-execute
.with_name
.build;
Features
Wavelet uses Cargo features to enable different functionality:
runtime(default) - Core execution enginefactories- Dependency injection for build-time configurationfull- All features enabled
[]
= { = "0.1", = ["full"] }
Dependency Injection with Factories
Configure different implementations for different environments:
use *;
let data_source = match environment ;
// Same graph construction code works with any configured factory
let feed = data_source.get;
Use Cases
Wavelet excels in domains requiring deterministic, low-latency processing:
- Financial Systems - Trading engines, risk management, market data processing
- Real-time Analytics - Live dashboards, alerting, stream aggregation
- IoT Processing - Sensor data, device management, edge computing
- Protocol Handling - Stateful network protocols, message parsing
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
License
MIT License (LICENSE)