Skip to content

Client SDKs

Idiomatic, hand-written client libraries are available for seven languages. Each wraps the same gRPC API, takes the same connection config (host, port, api_key, optional TLS CA cert), and exposes every RPC — including the streaming Find and Watch calls.

LanguageInstallReference
Pythonpip install filedbv2clients/python
JavaScript / TypeScriptnpm install filedbv2clients/js
PHPcomposer require srjn45/filedbv2clients/php
Javacom.srjn45:filedbv2-client (Maven Central)clients/java
Rubygem install filedbv2clients/ruby
Rustcargo add filedbv2clients/rust
C# / .NETdotnet add package FileDBv2.Clientclients/csharp
from filedbv2 import Client
db = Client(host="localhost", port=5433, api_key="dev-key")
db.insert("users", {"name": "alice", "age": 30})
for rec in db.find("users", {"field": "age", "op": "gt", "value": 18}):
print(rec["data"])

Prefer to generate a client, or working in a language without a hand-written SDK? The checked-in OpenAPI spec (docs/openapi/filedb.swagger.json) is generated from the proto and covers every RPC. Feed it to openapi-generator for any language.

See the API reference for details on the gRPC and REST surfaces.

There’s also a browser-based collection and record manager under clients/web/ (React + Vite), which talks to the REST gateway.