Skip to content
github-actions[bot] edited this page Sep 28, 2026 · 25 revisions

Navigation: Home > SDKs > Client

ThemisDB Client SDKs

This directory contains official client SDKs for ThemisDB in multiple programming languages.

πŸ†• SDK Enhancements (v1.8.0-rc1)

New Features (All Backwards Compatible):

  • βœ… Circuit Breaker Pattern: Prevents cascading failures
  • βœ… Retry with Exponential Backoff: Handles transient failures
  • βœ… Request/Response Logging: Comprehensive debugging support
  • βœ… Connection Pooling: Efficient HTTP connection management

See SDK_ENHANCEMENTS.md for detailed documentation and usage examples.

Available SDKs

C# (.NET)

Go

Java

JavaScript/TypeScript

  • Path: javascript/ (HTTP/REST client)
  • Documentation: JavaScript SDK Quickstart
  • Status: Production-ready
  • Note: Binary wire protocol implementation available in typescript/ (experimental)

PHP

  • Path: php/
  • Documentation: PHP SDK README
  • Status: Production-ready
  • Package: composer require themisdb/themisdb-php

Python

Ruby

  • Path: ruby/
  • Documentation: Ruby SDK README
  • Status: Production-ready
  • Package: gem install themisdb

Rust

Swift

Getting Started

Each SDK directory contains its own README with language-specific installation and usage instructions.

CI/CD Status

All client SDKs have automated CI/CD workflows for building, testing, and packaging:

SDK CI Workflow Status
Python python-sdk-test.yml βœ… Available (Dry-Run)
Java java-sdk-test.yml βœ… Available (Dry-Run)
C# csharp-sdk-test.yml βœ… Available (Dry-Run)
Go go-sdk-test.yml βœ… Available (Dry-Run)
Rust rust-sdk-test.yml βœ… Available (Dry-Run)
JavaScript/TypeScript javascript-sdk-test.yml βœ… Available (Dry-Run)
PHP php-sdk-test.yml βœ… Available (Dry-Run)
Ruby ruby-sdk-test.yml βœ… Available (Dry-Run)
Swift swift-sdk-test.yml βœ… Available (Dry-Run)

Note: All workflows are in "Dry-Run" mode - they build and test packages but do not publish to package registries. Publishing steps are commented out with TODO markers for production releases.

SDK Feature Parity Matrix

All SDKs now support the same feature set (as of v1.8.0-rc1, April 2026):

Feature Python JavaScript Go Rust Java C# Swift PHP Ruby
CRUD Operations βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
AQL Queries βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Transactions βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Graph API βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
- traverse() βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
- shortestPath() βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
- neighbors() βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Vector API βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
- vectorSearch() βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
- vectorUpsert() βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
- vectorDelete() βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
LLM API (v1.4.0+) πŸ†• βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
- llmInteraction() βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
- getLlmInteraction() βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
- listLlmInteractions() βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Batch Operations βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Topology-Aware Routing βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Async/Await βœ… βœ… N/A βœ… N/A βœ… βœ… N/A N/A
TLS/mTLS βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ…
πŸ†• Circuit Breaker βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… ❌
πŸ†• Retry + Backoff βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… ❌
πŸ†• Request/Response Logging βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… ❌
Connection Pooling ⚠️ ⚠️ βœ… βœ… ❌ βœ… ❌ βœ… ❌
Binary Protocol ❌ βœ… βœ… ❌ ❌ ❌ ❌ ❌ ❌

Legend:

  • βœ… = Implemented and tested
  • ⚠️ = Implicit/Built-in (e.g., browser fetch, standard HTTP client)
  • ❌ = Not implemented
  • πŸ“‹ = Planned (template available in Python/JavaScript clients)
  • N/A = Not applicable for this language
  • πŸ†• = New in v1.4.0-alpha

Documentation

For comprehensive SDK documentation and examples, see the docs/clients directory.


ThemisDB 1.9.0-beta Β· Home Β· Module-Index Β· GitHub Β· Issues

ThemisDB Wiki

🏠 Overview

πŸ“š Compendium

πŸš€ Getting Started

πŸ“– Tutorials

πŸ“— User Guide

βš™οΈ Operations & Security

πŸ“Ÿ Ops Runbooks

πŸ—οΈ Architecture

πŸ“ ADRs

πŸ”§ Contributing

πŸ“‹ Governance

πŸ” Audit

🧩 Plugins

πŸ”Œ Adapters

πŸ’‘ Examples

πŸ“¦ Client SDKs

πŸŽ“ Training

πŸ› οΈ Tools

πŸ€– Developer LLM Wiki

Clone this wiki locally