2 releases
Uses new Rust 2024
new 0.1.3 | Apr 24, 2025 |
---|---|
0.1.2 | Apr 24, 2025 |
#2 in #extend
33KB
517 lines
Fluxus Stream Processing Engine
Fluxus is a lightweight stream processing engine written in Rust, designed for efficient real-time data processing and analysis.
Features
- 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
Project Structure
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
Examples
The project includes several example applications that demonstrate different use cases:
Word Count
Simple word frequency analysis in text streams using tumbling windows.
cargo run --example word-count
Temperature Sensor Analysis
Processing and analyzing temperature sensor data with sliding windows.
cargo run --example temperature-sensor
Click Stream Analysis
Analyzing user click streams with session windows.
cargo run --example click-stream
Network Log Analysis
Processing network logs with sliding windows and aggregations.
cargo run --example network-log
View Available Examples
To see all available examples and options:
cargo run --example
Getting Started
- 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]
Development
Prerequisites
- Rust 1.75+
- Cargo
Building
cargo build
Testing
cargo test
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Dependencies
~5–14MB
~123K SLoC