Apache Fluss (incubating) is a streaming storage system built for real-time analytics, serving as the real-time data layer for Lakehouse architectures.
This documentation covers the Fluss client libraries for Rust, Python, C++, and Java, which are developed in the fluss-rust repository (Java client is part of the main Fluss project). These clients allow you to:
You need a running Fluss cluster to use any of the client libraries. See the Deploying a Local Cluster guide to get started.
EARLIEST_OFFSET to read all data, or resolve the current latest offset via list_offsets to only read new records.| Rust | Python | C++ | |
|---|---|---|---|
| Package | fluss-rs on crates.io | Build from source (PyO3) | Build from source (CMake) |
| Async runtime | Tokio | asyncio | Synchronous (Tokio runtime managed internally) |
| Data format | Arrow RecordBatch / GenericRow | PyArrow / Pandas / dict | Arrow RecordBatch / GenericRow |
| Log tables | Read + Write | Read + Write | Read + Write |
| Primary key tables | Upsert + Delete + Lookup | Upsert + Delete + Lookup | Upsert + Delete + Lookup |
| Partitioned tables | Read + Write | Read + Write | Read + Write |
The Clients section walks through installation, configuration, and working with each table type across all three languages. Code examples are shown side by side under Rust, Python, and C++ headings.
The Contributing guide covers building from source, running tests, and the release process for contributors.