Client Libraries
ekoDB provides 6 official client libraries for multiple programming languages: Rust, Python, TypeScript, Go, Kotlin, and JavaScript. We strongly recommend using these libraries instead of making direct API calls, as they provide:
- ✅ Type Safety - Strong typing and compile-time checks
- ✅ Automatic Authentication - Handles token management automatically
- ✅ Retry Logic - Automatic retries with exponential backoff
- ✅ Rate Limit Handling - Respects rate limits and retry-after headers
- ✅ Better Developer Experience - Intuitive APIs and comprehensive documentation
- ✅ Connection Pooling - Efficient HTTP connection management
- ✅ Error Handling - Structured error types and clear error messages
Choose Your Language
- 🦀 Rust
- 🐍 Python
- 📘 TypeScript
- 🔷 Go
- 🟣 Kotlin
- 📦 JavaScript
go get github.com/ekoDB/ekodb-client-go
Resources:
dependencies {
implementation("io.ekodb:ekodb-client-kt:0.1.0")
}
Resources:
Quick Start
- 🦀 Rust
- 🐍 Python
- 📘 TypeScript
- 🔷 Go
- 🟣 Kotlin
- 📦 JavaScript
use ekodb_client::Client;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create client
let client = Client::builder()
.base_url("https://{YOUR_SUBDOMAIN}.{ENVIRONMENT}.{PROVIDER}.ekodb.io")
.api_key("your-api-key")
.build()?;
// Insert a record
let mut record = Record::new();
record.insert("name", "John Doe");
record.insert("email", "john@example.com");
let result = client.insert("users", record).await?;
println!("Inserted: {:?}", result);
Ok(())
}
import asyncio
from ekodb_client import Client
async def main():
# Create client
client = Client.new(
"https://{YOUR_SUBDOMAIN}.{ENVIRONMENT}.{PROVIDER}.ekodb.io",
"your-api-key"
)
# Insert a record
record = {
"name": "John Doe",
"email": "john@example.com"
}
result = await client.insert("users", record)
print(f"Inserted: {result}")
asyncio.run(main())
import { EkoDBClient } from "@ekodb/ekodb-client";
async function main() {
// Create client
const client = new EkoDBClient({
baseURL: "https://{YOUR_SUBDOMAIN}.{ENVIRONMENT}.{PROVIDER}.ekodb.io",
apiKey: "your-api-key"
});
await client.init();
// Insert a record
const record = {
name: "John Doe",
email: "john@example.com"
};
const result = await client.insert("users", record);
console.log("Inserted:", result);
}
main();
package main
import (
"fmt"
"github.com/ekoDB/ekodb-client-go"
)
func main() {
// Create client
client := ekodb.NewClient(
"https://{YOUR_SUBDOMAIN}.{ENVIRONMENT}.{PROVIDER}.ekodb.io",
"your-api-key",
)
// Insert a record
record := map[string]interface{}{
"name": "John Doe",
"email": "john@example.com",
}
result, err := client.Insert("users", record)
if err != nil {
panic(err)
}
fmt.Println("Inserted:", result)
}
import io.ekodb.client.EkoDBClient
import io.ekodb.client.types.Record
import kotlinx.coroutines.runBlocking
fun main() = runBlocking {
// Create client
val client = EkoDBClient.Builder()
.baseUrl("https://{YOUR_SUBDOMAIN}.{ENVIRONMENT}.{PROVIDER}.ekodb.io")
.apiKey("your-api-key")
.build()
// Insert a record
val record = Record.new()
.insert("name", "John Doe")
.insert("email", "john@example.com")
val result = client.insert("users", record)
println("Inserted: $result")
}
const { EkoDBClient } = require("@ekodb/ekodb-client");
async function main() {
// Create client
const client = new EkoDBClient({
baseURL: "https://{YOUR_SUBDOMAIN}.{ENVIRONMENT}.{PROVIDER}.ekodb.io",
apiKey: "your-api-key"
});
await client.init();
// Insert a record
const record = {
name: "John Doe",
email: "john@example.com"
};
const result = await client.insert("users", record);
console.log("Inserted:", result);
}
main();
Next Steps
- Installation Guide - Detailed installation instructions for each language
- Basic Operations - CRUD operations with client libraries
- GitHub Examples - 105 working examples across all languages
- API Reference - Direct HTTP API documentation
Need Help?
- 📚 GitHub Repository - Source code and examples
- 💬 Support - Email us for help
- 🐛 Report Issues - Found a bug? Let us know!