#engine #api #aggregate #processing #windows #extend #fluxus

fluxus

Fluxus is a lightweight stream processing engine written in Rust, designed for efficient real-time data processing and analysis

2 releases

Uses new Rust 2024

new 0.1.3 Apr 24, 2025
0.1.2 Apr 24, 2025

#2 in #extend

Apache-2.0

33KB
517 lines

Fluxus Stream Processing Engine

Crates.io Documentation License: Apache 2.0 build status

Fluxus is a lightweight stream processing engine written in Rust, designed for efficient real-time data processing and analysis.

Fluxus Architecture

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 dependencies
  • crates/fluxus-api - Core API definitions and interfaces
  • crates/fluxus-core - Core implementations and data structures
  • crates/fluxus-runtime - Runtime engine and execution environment
  • crates/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 helpers
  • examples - 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

  1. Clone the repository:
git clone https://github.com/lispking/fluxus.git
cd fluxus
  1. Build the project:
cargo build
  1. 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