iggy

The official Rust SDK for Apache Iggy, a hyper-efficient persistent message streaming platform.

SDK
Cargo
v0.11.0-edge.4
4,513stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
89/100Excellent
Development Activity100
Maintenance100
Community64
Maturity52
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
82/100Excellent
Architecture90
Code Quality86
Innovation88
Learning Curve62

iggy is the official Rust SDK for Apache Iggy (incubating), a persistent message streaming platform written in Rust that processes millions of messages per second at ultra-low latency. The crate provides async client builders and typed APIs for connecting to an Iggy server, managing streams, topics, and partitions, and producing and consuming messages.

It supports Iggy’s multiple transport protocols, QUIC, TCP with a custom binary protocol, and HTTP REST, behind a unified client interface, along with authentication, personal access tokens, and consumer group semantics. It is the Rust member of a multi-language client family that also spans Node, Python, Java, .NET, and Go.

What You Get

  • Async client builders for connecting to an Iggy server over QUIC, TCP, or HTTP.
  • Typed operations for managing streams, topics, partitions, and consumer groups.
  • Producer and consumer APIs that work directly with binary message payloads.
  • Authentication support including login and Personal Access Tokens (PAT).

Common Use Cases

  • Publishing high-throughput event streams from Rust services to an Iggy server.
  • Consuming partitioned message streams with consumer groups for horizontal scaling.
  • Building event-driven and log-based architectures that need ultra-low latency.

Under The Hood

Architecture - The SDK is one member of the Apache Iggy monorepo (the sdk/Rust client crate), separate from the server binary. It exposes a transport-agnostic client trait implemented by QUIC, TCP (custom binary spec), and HTTP backends, so application code targets one interface regardless of protocol; commands map to Iggy’s binary wire format with zero-copy (de)serialization.

Tech Stack - Written in async Rust, the crate builds on Tokio-style async runtimes and Iggy’s custom binary protocol; the wider project uses io_uring/compio and a thread-per-core shared-nothing design on the server side for maximum throughput.

Code Quality - The repository is an Apache-governed project with extensive CI, code coverage tracking (Codecov), 100+ releases, and ~116 contributors; the Rust code is exercised by integration and end-to-end tests against a running server, reflecting mature maintenance practices.

API Design - The client uses a builder pattern and clearly named stream/topic/partition operations that mirror Iggy’s domain model, with docs and getting-started guides on iggy.apache.org; working directly with binary payloads keeps the surface small while leaving serialization choices to the caller.

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