SDK Capability Matrix
Matrix below is sourced directly from qail.rs/sdk project files:
TypeScript package metadata and client source, Swift package config/client source,
and Kotlin Gradle/client source.
| SDK | Package | Version | Runtime | Source | Notes |
|---|---|---|---|---|---|
| TypeScript | @qail/client | 0.1.0 | Node.js >= 18 | sdk/typescript | Builder API, raw DSL query/batch, schema type generation, and WebSocket subscription support. |
| Swift | Qail (Swift package) | swift-tools-version 6.0 | iOS 15+, macOS 12+, tvOS 15+, watchOS 8+ | sdk/swift | Async/await SDK with fluent builders, aggregate helpers, openapi/schema utilities, and WebSocket subscription support. |
| Kotlin | io.qail (Gradle module) | 0.1.0 | Kotlin JVM 2.3.0 + Ktor 3.0.3 | sdk/kotlin | Fluent builders, aggregate and upsert helpers, raw DSL query/batch, schema/openapi helpers, and WebSocket subscription support. |
Intent Split to Prevent Cannibalization
SDK intent is centralized on /sdk, while protocol-driver intent stays on
/rust and /zig pages.
| Keyword Cluster | Primary Intent | Canonical Destination |
|---|---|---|
| qail sdk | Find canonical QAIL SDK landing page | /sdk |
| qail typescript sdk | Use @qail/client and TypeScript client APIs | /sdk#typescript |
| qail swift sdk | Review Swift package support and platform targets | /sdk#swift |
| qail kotlin sdk | Review Kotlin client module and Ktor stack | /sdk#kotlin |
| qail rust driver | Find PostgreSQL protocol driver (not SDK) | /rust |
Feature Parity Snapshot
TypeScript
@qail/client exposes builder APIs (from/into/update/delete),
raw DSL (query, batch), utility endpoints
(health/openapi/schema/generateTypes), and WebSocket subscriptions.
Swift
Swift package client provides async/await query builders, aggregate and upsert helpers, raw DSL and batch paths, utility endpoints, plus WebSocket subscribe/unsubscribe flow.
Kotlin
Kotlin JVM SDK (Ktor-based) mirrors builder/query semantics with typed responses, aggregate/upsert helpers, openapi/schema utilities, and WebSocket subscription support.
Getting Started
1. TypeScript Package
Install the published TypeScript SDK package.
npm install @qail/client 2. Swift SDK Source Module
Swift SDK currently lives in the monorepo source path.
git clone https://github.com/qail-io/qail.git
cd qail/sdk/swift
swift test 3. Kotlin SDK Source Module
Kotlin SDK is provided as a Gradle JVM module in the monorepo.
git clone https://github.com/qail-io/qail.git
cd qail/sdk/kotlin
./gradlew test Related Pages
- Driver and gateway index - map all dedicated runtime pages.
- Gateway AutoREST page - runtime API surface for SDK clients.
- Rust driver page - qail-pg protocol driver intent.
- Zig driver page - qail-zig driver intent.
- Changelog - release timeline and dedicated page links.
FAQ
Which SDK is published in a package registry right now?
TypeScript is available as @qail/client version 0.1.0. Swift and Kotlin are consumed from sdk/swift and sdk/kotlin in the monorepo.
Do Swift and Kotlin have the same query model as TypeScript?
Mostly yes. All three tracks expose builder-style queries, raw DSL/batch paths, aggregate helpers, and schema/openapi utility surfaces.
How does realtime work in the SDK layer?
Each SDK includes WebSocket subscription primitives so clients can subscribe/unsubscribe to gateway realtime streams without hand-writing protocol frames.