Installation
The Fluss Rust client is published to crates.io as fluss-rs. The crate's library name is fluss, so you import it with use fluss::....
[dependencies]
fluss-rs = "0.1"
tokio = { version = "1", features = ["full"] }
Feature Flags
[dependencies]
# Default: memory and filesystem storage
fluss-rs = "0.1"
# With S3 storage support
fluss-rs = { version = "0.1", features = ["storage-s3"] }
# With OSS storage support
fluss-rs = { version = "0.1", features = ["storage-oss"] }
# All storage backends
fluss-rs = { version = "0.1", features = ["storage-all"] }
Available features:
storage-memory(default: In-memory storage)storage-fs(default: Local filesystem storage)storage-s3(Amazon S3 storage)storage-oss(Alibaba OSS storage)storage-all(All storage backends)
Git or Path Dependency
For development against unreleased changes:
[dependencies]
# From Git
fluss = { git = "https://github.com/apache/fluss-rust.git", package = "fluss-rs" }
# From local path
fluss = { path = "/path/to/fluss-rust/crates/fluss", package = "fluss-rs" }
Note: When using
gitorpathdependencies, thepackage = "fluss-rs"field is required so that Cargo resolves the correct package while still allowinguse fluss::...imports.
Building from Source
Prerequisites: Rust 1.85+, Protobuf compiler (protoc)
git clone https://github.com/apache/fluss-rust.git
cd fluss-rust
Install protoc:
# macOS
brew install protobuf
# Ubuntu/Debian
sudo apt-get install protobuf-compiler
Build:
cargo build --workspace --all-targets