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:
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:
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
- Client Setup - Configure and connect your client
- Producer Guide - Send messages to topics
- Consumer Guide - Receive and process messages
- Schema Registry - Work with typed messages
Getting Help
- Documentation: Danube Docs
- Examples: Rust | Go
- Issues: GitHub Issues