SDKs
Available

SDKs

The Loams SDKs, what they cover in 0.1.0, how to install each one, and where the example repositories are.

Every Loams SDK is one client object with namespaced modules over the unified Connect API: one port (8080 on loams dev) speaks the Connect protocol, gRPC and gRPC-Web. The module surface is generated from the protos in proto/; the runtime under it (transport, token sources, retries, typed errors, consistency tokens, pagination, streams) is hand-written once per language and checked against a shared conformance corpus.

LanguageInstallStatusExamples
TypeScriptnpm i @loams/clientAvailableloams-typescript
Pythonpip install loamsAvailableloams-python
Gogo get loams.dev/go@v0.1.0Availableloams-go
Rustcargo add loamsAvailableloams-rust
C#dotnet add package LoamsAvailableloams-csharp
C++loams-cpp-0.1.0.tar.gz from the releaseAvailableloams-cpp
SwiftSwiftPM, from 0.1.0Availableloams-swift
Javadev.loams:loams:0.1.0Experimentalloams-java
Kotlindev.loams:loams-kotlin:0.1.0Experimentalloams-kotlin
Rubygem install loamsExperimentalloams-ruby
PHPcomposer require loams/loamsExperimentalloams-php

TypeScript, Python, Go, Rust, C#, C++ and Swift are released from the 0.1.0 tag; Swift is built and tested in CI on macOS. Java and Kotlin (Maven Central) and Ruby (RubyGems) are published as 0.1.0 too, and are experimental. PHP 0.1.0 is in the split repository ostrium-labs/loams-php but not on Packagist yet; see PHP for the Composer line. Dart and Objective-C are in the repository but not published. In 0.x an SDK's API may change between minor versions: pin 0.1.

The example repositories (ostrium-labs/loams-<language>) hold runnable examples and getting-started projects; the SDK source itself lives in ostrium-labs/loams under sdks/.

What the SDKs cover in 0.1.0

ModuleWhat it does
instanceWhat this instance is: its API packages, sign-in methods and served services. Needs no credential, so it is every client's first call
systemFeature detection: guard('live') fails with FeatureNotInVariantError when this build does not serve a package, without an RPC once the catalogue is cached
auth, admin.*Sign-in, API keys, organizations, projects, agents and audit
live, live.admin, tablesLoams Live: reactive queries, mutations and deploys

Collections and hybrid search are not in the SDK facade yet. The Python SDK refuses the hybrid query builder and bulk ingest by name rather than stubbing them. Until they land, call the REST API from your language's HTTP client (the TypeScript and Python pages show how), or keep a Qdrant or Elasticsearch client.

Common shape

Every SDK takes the same three inputs:

  • The endpoint. http://127.0.0.1:8080 for loams dev; https://loams.<tailnet>.ts.net for a self-hosted stack.
  • Credentials. An API key (LOAMS_API_KEY) for scripts and CI, or a token source (environment token, OIDC exchange). GetInstance needs none. See Authentication and API keys.
  • Consistency. Reads are strong by default. Opt in to a session to carry a consistency token across calls; see Consistency tokens.

Errors are typed and carry a stable snake_case reason from the reason registry, such as feature_not_in_variant. Branch on the type or the reason, never on the message.

On this page