Skip to content

SDK Overview

ParticleDB SDKs in this repo target three live transport families today: REST API, PostgreSQL wire, and gRPC. Some SDKs also contain streaming/WebSocket layers, but the default server path today is HTTP SSE streaming rather than a production WebSocket endpoint.

Terminal window
# REST client (zero dependencies)
pip install particledb
# With gRPC support
pip install particledb[grpc]
LanguagePackageTransportVectorKVRAGAI
PythonparticledbREST + gRPCYesYesYes
TypeScriptparticledbPG wire + gRPC + SSEYesYesYesYes
Goparticledb-goPG wire + gRPCYesYesYesYes
Javaai.particledb:particledb-jdbcJDBC over PDB native wire (Arrow IPC)YesYesYesYes
Rustparticledb-sdkSqlExecutor trait (pluggable)YesYesYesYes
C# / .NETParticleDB.ClientPG wire (Npgsql)YesYesYesYes
Kotlinparticledb-kotlinREST (OkHttp)YesYesYes
Swiftparticledb-swiftREST (URLSession)YesYesYes
Dart / FlutterparticledbREST (http)YesYesYes
RubyparticledbREST (Net::HTTP)YesYesYes
PHPparticledb-phpREST (cURL)YesYesYes
ClibparticledbREST (libcurl)
C++particledb (header-only)PG wire (libpq)YesYesYesYes
Browser@particledb/webExperimental WebSocket layerYesYesYesYes

Used by: Python, Kotlin, Swift, Dart, Ruby, PHP, C

The REST API runs on port 8080 by default. SDKs send SQL as JSON payloads to POST /v1/sql and receive structured JSON responses. Zero-dependency clients can be built using any HTTP library.

Used by: TypeScript, Go, C#, C++ (also available to Java via stock pgjdbc)

Full compatibility with standard PostgreSQL drivers. Supports prepared statements, transactions, binary format, and pipeline mode. Runs on port 5432 by default.

Used by: Java (ai.particledb:particledb-jdbc)

HTTP/2-style multiplexing over a single TCP connection. Arrow IPC result rows for typed, zero-copy decoding. Default port 5440 (TLS on 5443). The Java JDBC driver is the reference implementation; other SDKs use this transport via language-specific clients.

Used by: Python, TypeScript, Go

Native gRPC protocol with protobuf-encoded messages. The current server listens on port 26257 by default and exposes the particledb.v1.ParticleDB service.

Used by: TypeScript/browser-oriented clients

The repo contains SSE and WebSocket client code. Today, the default server exposes SSE over HTTP (/v1/sql/stream). Treat WebSocket support as experimental unless you have explicitly wired a compatible endpoint into your deployment.

Standard PostgreSQL drivers give you full SQL access to ParticleDB. The ParticleDB SDKs add:

  • Vector search helpers — Build and query vector indexes with a typed API instead of raw SQL
  • KV operationsget, set, delete, mset, incr, keys methods for key-value workloads
  • RAG pipelines — Create named pipelines for retrieval-augmented generation workflows
  • AI functions — Embeddings, text generation, classification, and summarization
  • CDC streaming — Real-time change-data-capture event subscriptions over gRPC, plus experimental streaming helpers in some SDKs