Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ekoDB/ekodb-client

Repository files navigation

ekoDB Client Libraries

Official client libraries for ekoDB - a high-performance document database.

Examples Languages Client Libraries

πŸš€ Quick Stats:

  • 207 working examples - 160 client library + 47 direct API examples
  • 6 programming languages - Rust, Python, Go, TypeScript, JavaScript, Kotlin
  • 5 full-featured clients - Complete feature parity across Rust, Python, Go, TypeScript, Kotlin
  • 14 examples per client - CRUD, batch ops, queries, joins, search, WebSocket, AI/chat, and more
  • 100% tested - All examples run in CI/CD

πŸ“¦ Available Clients

πŸ¦€ Rust Client (ekodb_client)

Crates.io docs.rs

cargo add ekodb_client

🐍 Python Client (ekodb-client)

PyPI Python Version

pip install ekodb-client

πŸ”· Go Client

Go Reference Go Report Card

go get github.com/ekoDB/ekodb-client-go

Note: Go client is maintained in a separate repository: github.com/ekoDB/ekodb-client-go

πŸ“˜ TypeScript/JavaScript Client

npm npm downloads

npm install @ekodb/ekodb-client

🟣 Kotlin Client (ekodb-client-kt)

Maven Central

// Gradle (Kotlin DSL)
implementation("io.ekodb:ekodb-client-kt:0.1.0")

Features:

  • βœ… Full coroutines support
  • βœ… Type-safe operations
  • βœ… Fluent query builder with joins
  • βœ… WebSocket real-time queries
  • βœ… AI/Chat integration
  • βœ… Schema management
  • βœ… Full-text search
  • βœ… 14 comprehensive examples

Features

All clients provide:

  • βœ… Type-safe database operations
  • βœ… Comprehensive CRUD operations
  • βœ… Batch operations (insert, update, delete)
  • βœ… Authentication handling
  • βœ… Query filtering and sorting with joins
  • βœ… Schema management and validation
  • βœ… Full-text search capabilities
  • βœ… WebSocket real-time queries
  • βœ… AI/Chat integration with context retrieval
  • βœ… TTL (time-to-live) support
  • βœ… Key-value operations
  • βœ… Error handling and retries

Each client also includes language-specific features:

  • Rust: Tokio async runtime, strong type safety, zero-cost abstractions
  • Python: Async/await support, type hints, modern Python 3.8+
  • Go: Context support, idiomatic error handling, goroutines
  • TypeScript/JavaScript: TypeScript support, Promises, Node.js compatibility
  • Kotlin: Coroutines, null safety, extension functions, fluent APIs

πŸ“š Documentation

πŸ› οΈ Development

See COMMANDS.md for detailed command reference.

Quick Start

# Build Rust client
make build

# Build Python client
make build-python-client

# Build TypeScript client
make build-typescript-client

# Build Kotlin client
make build-kotlin-client

# Run all tests
make test

# Run examples for all languages
make test-examples

# Run Kotlin examples specifically
make test-examples-kt

Deployment

# Deploy Rust client to crates.io
make deploy-client-rust

# Deploy Python client to PyPI
make bump-client-py      # Bump version
make deploy-client-py    # Build & publish (Linux + macOS + source)

# Deploy TypeScript client to npm
make deploy-client-ts

# Deploy Go client (via git tags)
make deploy-client-go

# Deploy Kotlin client to Maven Central
cd ekodb-client-kt && ./gradlew publish

License

MIT