Fluxus is a lightweight stream processing engine written in Rust, designed for efficient real-time data processing and analysis.
- High-performance stream processing
- Flexible windowing operations (Tumbling, Sliding, Session windows)
- Parallel processing support
- Rich set of stream operations (map, filter, aggregate)
- Type-safe API
- Easy to use and extend
crates/fluxus- Main crate containing the Fluxus engine and its dependenciescrates/fluxus-api- Core API definitions and interfacescrates/fluxus-core- Core implementations and data structurescrates/fluxus-runtime- Runtime engine and execution environmentcrates/fluxus-sinks- Sink implementations for different data sinks (e.g., Kafka, Console)crates/fluxus-sources- Source implementations for different data sources (e.g., Kafka, Console)crates/fluxus-transforms- Transformations for stream processing (e.g., map, filter, aggregate)crates/fluxus-utils- Utility functions and helpersexamples- Example applications demonstrating usage
The project includes several example applications that demonstrate different use cases:
Simple word frequency analysis in text streams using tumbling windows.
cargo run --example word-countProcessing and analyzing temperature sensor data with sliding windows.
cargo run --example temperature-sensorAnalyzing user click streams with session windows.
cargo run --example click-streamProcessing network logs with sliding windows and aggregations.
cargo run --example network-logProcessing CSV data from remote sources like GitHub.
cargo run --example remote-csvTo see all available examples and options:
cargo run --exampleTo use Fluxus in your project, add it as a dependency using cargo:
cargo add fluxus --features fullThis will add Fluxus with all available features to your project. After adding the dependency, you can start using Fluxus in your code. Check out the examples section below for usage examples.
- Clone the repository:
git clone https://github.com/lispking/fluxus.git
cd fluxus- Build the project:
cargo build- Run the examples:
cargo run --example [example-name]- Rust 1.75+
- Cargo
cargo buildcargo testThis project is licensed under the Apache License 2.0 - see the LICENSE file for details.