Skip to content

Danube Client Libraries

Danube provides official client libraries for multiple programming languages, allowing you to integrate messaging capabilities into your applications. All clients follow consistent patterns and support core Danube features including topics, subscriptions, partitions, and schema registry.

Supported Languages

Rust Client

The official danube-client is an asynchronous Rust client library built on Tokio.

Installation:

cargo add danube-client

Features:

  • ✅ Full async/await support with Tokio
  • ✅ Type-safe schema registry integration
  • ✅ Partitioned topics
  • ✅ Reliable dispatch
  • ✅ TLS and JWT authentication
  • ✅ All subscription types (Exclusive, Shared, Failover)
  • ✅ Schema validation (JSON Schema, Avro, Protobuf)

Learn more: Rust Examples


Go Client

The official danube-go library provides Go language bindings.

Installation:

go get github.com/danube-messaging/danube-go

Features:

  • ✅ Context-based operations
  • ✅ Partitioned topics
  • ✅ Reliable dispatch
  • ✅ All subscription types (Exclusive, Shared, Failover)
  • ⏳ TLS support (coming soon)
  • ⏳ Schema registry (coming soon)

Learn more: Go Examples


Feature Comparison Matrix

Feature Rust Go Python* Java*
Core Messaging
Producers
Consumers
Partitioned Topics
Reliable Dispatch
Subscriptions
Exclusive
Shared
Failover
Schema Registry
JSON Schema
Avro
Protobuf
Compatibility Checking
Security
TLS
JWT Authentication

* Coming soon - community contributions welcome


Community Clients

We encourage the community to develop and maintain clients for additional languages. If you're building a Danube client:

  • Follow the protocol specification
  • Reference existing clients for patterns
  • Submit a PR to add your client to this list

Guidelines for Client Development

Core Requirements:

  • Support for producer/consumer operations
  • Schema registry integration
  • Topic lookup and partitioning
  • Subscription management (Exclusive, Shared, Failover)
  • Message acknowledgment
  • Error handling and retries

Recommended Features:

  • TLS support
  • JWT authentication
  • Connection pooling
  • Graceful shutdown

Next Steps

Getting Help