Fluxus is a lightweight stream processing engine written in Rus 8000 t, 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-count
Processing and analyzing temperature sensor data with sliding windows.
cargo run --example temperature-sensor
Analyzing user click streams with session windows.
cargo run --example click-stream
Processing network logs with sliding windows and aggregations.
cargo run --example network-log
Processing CSV data from remote sources like GitHub.
cargo run --example remote-csv
To see all available examples and options:
cargo run --example
To use Fluxus in your project, add it as a dependency using cargo:
cargo add fluxus --features full
This 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 build
cargo test
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.