Skip to main content
IDYL publishes one official SDK per language. Repositories live under the idyl-labs organization on GitHub, and the npm package is published under the @idyl-labs scope. Every SDK is a native expression of the same model: the same resources, the same names, and the same wire format. A Sandbox created from TypeScript is the Sandbox the Go SDK and the CLI read back. The Go SDK defines the shared model. Its resource and API packages are the contract every SDK speaks, and each other SDK proves its types against fixtures taken from the Go SDK. A contract change lands in the Go SDK first; the other SDKs adopt it.

What every SDK provides

  • Explicit configuration. A client is built from one configuration value that carries the Network, Account, credential, Namespace, and placement its operations run in. The SDK reads no environment variable or configuration file and substitutes nothing for an unset field.
  • Immutable, scoped clients. Selecting a Namespace or placement returns a copy; the original stays valid.
  • Per-request credentials. The credential is consulted for every authenticated request, so a rotated token needs no new client.
  • Placement resolved through public APIs. A Subnet, Fleet, or Node placement is resolved once per operation and checked for visibility, approval, and admission before a request is sent.
  • Native Workload services with immutable handles, lifecycle waits, watches, streamed logs, and shell transports.
  • Typed errors. A non-2xx response is an API error carrying the HTTP status, a stable code, a message, details, the request ID, and the retry delay. Message text is not a contract.
  • Cancellation on every operation. Cancelling never deletes a resource.

SDK pages

TypeScript

@idyl-labs/sdk for Node.js 22 and later, browsers, and edge runtimes.

Go

github.com/idyl-labs/sdk-go, the module that defines the shared model.