SDKs
Choose the JavaScript and TypeScript, Python, Go or Java SDK, and learn the status of other language SDKs.
JavaScript and TypeScript
Install the JavaScript and TypeScript packages from npm:
npm install @useceleris/client
npm install @useceleris/server
- Client SDK: use
@useceleris/clientfor realtime connections in browsers, Node.js, Bun, and Deno. - Server SDK: use
@useceleris/serverto sign credentials in a trusted backend. Install it only in projects that contain server code.
Start with the Quickstart, then follow the JavaScript learning sequence.
The client connects and exchanges bytes. It cannot sign credentials. The server package signs the permissions that your application decides. Keep the server package and the signing secrets out of browser and mobile bundles.
Python
Install the Python packages from PyPI:
pip install useceleris-client
pip install useceleris-server
- Client SDK: use
useceleris-clientfor realtime connections from asyncio services, workers, tools and desktop applications. - Server SDK: use
useceleris-serverto sign credentials on a trusted server. Install it only where the signing secret can live.
Follow the Python learning sequence. A Python backend can also serve credentials to the JavaScript client in a browser.
Go
Add the Go modules with go get:
go get github.com/useceleris/sdk-go-client
go get github.com/useceleris/sdk-go-server
- Client SDK: use
github.com/useceleris/sdk-go-clientfor realtime connections from Go services, workers, tools and desktop applications. - Server SDK: use
github.com/useceleris/sdk-go-serverto sign credentials on a trusted server. Add it only where the signing secret can live.
Follow the Go learning sequence. A Go backend can also serve credentials to the JavaScript client in a browser.
Java
Add the Java artifacts with Gradle, or with Maven as the overview shows:
implementation("com.useceleris:celeris-client:1.0.0")
implementation("com.useceleris:celeris-server:1.0.0")
- Client SDK: use
com.useceleris:celeris-clientfor realtime connections from Java services, workers, tools and desktop applications. - Server SDK: use
com.useceleris:celeris-serverto sign credentials on a trusted server. Add it only where the signing secret can live.
Follow the Java learning sequence. A Java backend can also serve credentials to the JavaScript client in a browser.
Other languages
Rust and Dart SDKs are not implemented yet. There are no supported package APIs for those languages to build against.
Do not treat an SDK's API reference as a wire-protocol specification.
What the client does
The client does these tasks:
- Requests fresh credentials for each connection attempt.
- Maintains subscriptions and restores them during automatic recovery.
- Exchanges opaque bytes with text/JSON helpers and a custom-codec adapter.
- Reports errors, connection state, and presence.
- Filters recently delivered duplicate message IDs within a bounded window.
Read Reconnection and Recovery for what happens after a disconnect and what your application must still reconcile.