SDKs
On Pro and up, your CI asks the registry API for an SDK made from a registry version and your latitude10.sdk.json, and gets the package back as a .tgz. It then publishes it to your own npm or PyPI account. We never publish for you, and the generated code is yours, under the MIT licence.
- TypeScript: an ESM package with no runtime dependencies, for Node.js 20+, Deno, Bun, Workers and browsers.
- Python: a package for Python 3.11+, with
httpxas its one dependency.
Each package's version follows the registry's breaking-change diff, and the same config and registry version give the same package again.
1. Add the config
Commit a latitude10.sdk.json naming your package: see The config.
2. Generate the package
curl -sS -X POST "$BASE/sdks/typescript?version=latest" -H "Authorization: Bearer $LATITUDE10_KEY" -H "Content-Type: application/json" --data-binary @latitude10.sdk.json -o sdk.tgzversion is latest, the default, or a registry version number.
Members can also download a preview of the package from the SDK panel on the project's page.
How many endpoints an SDK may have, and how many builds a project gets a day, depend on the plan: see Plans and limits.
In this section
- The config: every field of
latitude10.sdk.json. - The TypeScript package: its files, retries, errors and pagination.
- The Python package: its clients, types and errors.
- The publishing workflow: from a push to npm and PyPI.
- SDK versioning: how each version is worked out.
- OpenAPI extensions: naming, grouping and pagination.
- Coverage: what's left out or typed as unknown.
Where this comes from
app/sdk/_lib/builds.tsapp/sdk/_lib/config.tsapp/api/registry/v1/sdks/typescript/route.tsapp/sdk/_lib/typescript/emit.ts