Official clients for multiple languages. All support the full OxiDB API.
Use OxiDB as a library. Zero network overhead. Add to Cargo.toml:
[dependencies]
oxidb = "0.25"
Zero external dependencies. Uses only the standard library.
from oxidb import OxiDbClient
db = OxiDbClient("127.0.0.1", 4444)
Native Go client with OxiWire binary protocol. Stored procedures, TTL indexes, retention policies, alerting, blob text extraction, and backup/restore.
import "oxidb"
client, _ := oxidb.ConnectDefault()
client.UseOxiWire()
// Stored procedures
client.CreateProcedure("name", oxiScript)
client.CallProcedure("name", args)
// TTL + retention
client.CreateTTLIndex("sessions", "created_at", 3600)
client.SetRetention("events", 30)
// Alerting · Backup
client.CreateAlert(rule)
client.Backup(path)
Pure managed C# client. HelloAsync handshake, typed FindAsync<T> / InsertReturningIdAsync, IAsyncEnumerable<T> streaming, services.AddOxiDbTcp(...) DI extension, Query.Eq/Gte/In/... builder, domain exception hierarchy.
dotnet add package OxiDb.Client.Tcp
FFI bindings to the native Rust library. In-process, no server needed. Bundles native runtimes for darwin-arm64/amd64, linux-x64/arm64, windows-x64.
dotnet add package OxiDb.Client.Embedded
Standalone LINQ provider over IOxiDbClient. client.GetCollection<T>("users").Where(u => u.Age >= 18).ToListAsync(). Translates expression trees to OxiWire document queries — no SQL, no EF Core.
dotnet add package OxiDb.Linq