4 releases
Uses new Rust 2024
new 0.1.3 | Apr 24, 2025 |
---|---|
0.1.2 | Apr 24, 2025 |
0.1.1 | Apr 23, 2025 |
0.1.0 | Apr 23, 2025 |
#494 in Configuration
132 downloads per month
Used in fluxus
93KB
2K
SLoC
Fluxus API
Core API definitions and interfaces for the Fluxus stream processing engine.
Overview
This crate provides the public API for building stream processing applications with Fluxus. It includes:
DataStream
- The main abstraction for working with data streams- Source and Sink interfaces
- Stream operations (map, filter, aggregate, etc.)
- Window configurations
- I/O utilities
Key Components
DataStream
The DataStream
type is the main entry point for building stream processing pipelines:
DataStream::new(source)
.map(|x| x * 2)
.filter(|x| x > 0)
.window(WindowConfig::Tumbling { size_ms: 1000 })
.aggregate(initial_state, |state, value| /* aggregation logic */)
.sink(sink)
Windows
Supported window types:
- Tumbling Windows - Fixed-size, non-overlapping windows
- Sliding Windows - Fixed-size windows that slide by a specified interval
- Session Windows - Dynamic windows based on activity timeouts
I/O
Pre-built source and sink implementations:
CollectionSource
- Create a stream from a collectionCollectionSink
- Collect stream results into a collection- Additional I/O implementations for files, networks, etc.
Usage
Add this to your Cargo.toml
:
[dependencies]
fluxus-api = "0.1"
See the fluxus-examples
crate for complete usage examples.
Dependencies
~6–15MB
~141K SLoC