fluvio

The Rust client for Fluvio, a lean distributed data streaming engine.

SDK
Cargo
v0.50.1
5,242stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
67/100Good
Development Activity48
Maintenance48
Community72
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
83/100Excellent
Architecture88
Code Quality84
Innovation82
Learning Curve66

fluvio is the native Rust client crate for Fluvio, a lean, distributed data streaming engine written in Rust. It lets applications connect to a Fluvio cluster to produce and consume records on topics and partitions, providing the programmatic API behind Fluvio’s real-time streaming and stream-processing platform.

Built for event-driven and data-intensive systems, the client exposes async producers and consumers over Fluvio’s append-only, partitioned streams, and integrates with Fluvio’s SmartModules and Stateful DataFlow for in-stream transformation. It is the developer-facing entry point for building responsive pipelines on top of a self-hostable Kafka alternative.

What You Get

  • An async Fluvio client for connecting to a local or remote streaming cluster
  • Topic producers for appending records to partitioned, append-only streams
  • Consumers that read records from a chosen offset with streaming delivery
  • Integration hooks for SmartModules and Stateful DataFlow to transform data in motion

Common Use Cases

  • Producing real-time events from a Rust service into a Fluvio topic
  • Consuming and processing streaming records for analytics or pipelines
  • Building event-driven microservices on a self-hosted Kafka alternative
  • Applying in-stream transformations with SmartModules before data reaches downstream consumers

Under The Hood

Architecture - The fluvio crate lives in a large Cargo workspace under crates/ alongside the full platform (the fluvio-sc control plane, fluvio-spu streaming processing units, fluvio-protocol, fluvio-smartengine, and the fluvio-cli). The client itself is a thin async layer that speaks the fluvio-protocol wire format to the cluster, resolving topic/partition leadership through the control plane and opening produce/consume streams to the appropriate SPU. SmartModule execution is delegated to the WebAssembly-based fluvio-smartengine.

Tech Stack - Written in Rust (93% of the codebase) with WebAssembly used for SmartModules, plus Shell, Makefile, and Dockerfile tooling for building and running clusters. The project is an async, cloud-native distributed system spanning dozens of workspace crates.

Code Quality - As a mature project (2,500+ commits, 80+ contributors, 100 releases) Fluvio maintains hourly CI, continuous-deployment workflows, dependency-status checks, and a benchmark crate. The clean separation between protocol, client, control plane, and processing engine reflects deliberate modular design; the client crate is a small, well-scoped surface over that infrastructure.

API Design - The client API is intentionally lean: connect, get a producer or consumer for a topic, and send/stream records. This keeps the common path simple, while advanced capabilities (SmartModules, Stateful DataFlow, super-topic style scaling) are opt-in. The main learning curve is understanding Fluvio’s cluster concepts, which are well documented at fluvio.io and via the CLI.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search