Skip to content

Installation

One package per language, each carrying a single client that serves both Xberg Enterprise and Xberg Pro.

Language Package Requires
Python xberg-io-sdk Python 3.10+
TypeScript / Node.js @xberg-io/sdk Node 22+, ESM only
Go github.com/xberg-io/sdks/packages/go Go 1.26+
Terminal window
pip install xberg-io-sdk
# or
uv add xberg-io-sdk

The import name is xberg_io_sdk, and the clients are XbergClient and AsyncXbergClient.

Terminal window
pnpm add @xberg-io/sdk

The package is ESM only. The client is XbergClient; createClient is available when you want the underlying typed fetch client.

Terminal window
go get github.com/xberg-io/sdks/packages/go

The package name is xberg, so import it as xberg "github.com/xberg-io/sdks/packages/go".

Enterprise is hosted, so base_url defaults to https://api.xberg.io. Pro is self-hosted and has no default — pass the deployment’s URL.

You can also pass target explicitly ("enterprise" or "pro"). Omit it and the client reads the tier once from GET /healthz the first time a tier-specific method is called, then caches it for the client’s lifetime. Passing target skips that probe entirely, which is worth doing when you already know what you are talking to.

Calling a method the connected tier does not serve raises a clear tier error rather than issuing a request that would 404. See Tier capabilities for what each product serves.