Geode offers official clients for Go, Python, Rust, Node.js, and Zig. All clients implement the same QUIC + TLS protocol; higher-level conveniences differ by language.
Client Status Matrix
Client
Package
Current Version
Maturity
Best For
Go
geodedb.com/geode
module (rolling)
Production
Server-side Go apps, database/sql integration
Python
geode-client
0.3.19
Beta
Async services, data tooling
Rust
geode-client
0.1.1-alpha.8
Alpha
Performance-critical backends
Node.js
@geodedb/client
1.0.0-alpha.15
Beta
TypeScript services, APIs
Zig
geode_client_zig
0.1.0
Alpha
Native integrations, low-level control
Feature Comparison
Feature
Go
Python
Rust
Node.js
Zig
QUIC + TLS 1.3
✅
✅
✅
✅
✅
gRPC transport
❌
✅
❌
❌
❌
Connection pooling
✅ (database/sql)
✅
✅ (basic)
✅
⚠️ (build your own)
Prepared statements
✅
✅ (client-side)
✅ (client-side)
✅
⚠️ (manual)
Query builder
❌
✅
✅
✅
⚠️ (internal modules)
Transactions
✅
✅
✅
✅
✅ (protocol primitives)
Savepoints
✅ (via GQL)
✅
✅
✅
⚠️ (manual)
DSN parsing
✅
✅ (URL helper)
✅
✅
⚠️ (internal modules)
Auth helpers
❌
✅
❌
✅
⚠️ (internal modules)
Quick Recommendations
Production Go: Choose the Go client for database/sql integration and mature tooling.
Async Python: Choose Python for asyncio apps and query builder helpers.
High-performance Rust: Choose Rust for low-latency services with typed values.
TypeScript services: Choose Node.js for strong typing and pooling.
Native Zig: Choose Zig when you want direct protocol control.