Skip to content

SDKs

Sencai publishes three official, generated clients for the Platform API: Go, Python, and TypeScript. All three cover the same underlying API and are generated from the same source description, so their shape (resource names, method names, request/response models) matches across languages.

None of the three is published to a public package registry (npm, PyPI, or pkg.go.dev) yet, and there’s no public repository to install from directly either - ask your account team for the current build if you want to use one of these today. The examples below show how each client is configured and used once you have it.

Module path: github.com/sencai/sdk-go.

package main
import (
"context"
sencaisdk "github.com/sencai/sdk-go"
)
func main() {
cfg := sencaisdk.NewConfiguration()
cfg.Servers = sencaisdk.ServerConfigurations{
{URL: "https://api.sencai.space/api/v1"},
}
cfg.AddDefaultHeader("Authorization", "Bearer <token>")
client := sencaisdk.NewAPIClient(cfg)
_, _, err := client.CloudInstanceAPI.FindCloudInstance(context.Background()).Execute()
if err != nil {
panic(err)
}
}

Package name: sencai_sdk.

from sencai_sdk import ApiClient, Configuration, CloudInstanceApi
config = Configuration(
host="https://api.sencai.space/api/v1",
access_token="<token>",
)
with ApiClient(config) as client:
cloud_instances = CloudInstanceApi(client)
result = cloud_instances.find_cloud_instance()

Package name: @sencai/sdk.

import { Configuration, CloudInstanceApi } from '@sencai/sdk';
const config = new Configuration({
basePath: 'https://api.sencai.space/api/v1',
accessToken: async () => myAccessToken,
});
const cloudInstances = new CloudInstanceApi(config);
const { data } = await cloudInstances.findCloudInstance();

Every client’s base URL/host and its authentication header are set in the client configuration shown above - none of the three has a hardcoded production URL baked in, so pointing at https://api.sencai.space/api/v1 is something you do explicitly. Configure the same credential you’d use with curl (see Platform API overview).

Each SDK’s own package version tracks the version of the underlying API description it was generated from, rather than being bumped by hand. A breaking change to the API produces a corresponding SDK change - check that SDK’s own changelog when upgrading, and see API versioning for how the platform surfaces breaking changes on the API side.