> ## Documentation Index
> Fetch the complete documentation index at: https://developers.nexspace365.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SDKs Overview

> Official NexSpace SDKs for TypeScript and Python

# SDKs

Official NexSpace SDKs provide typed clients with built-in retry, versioning,
and idempotency support.

<CardGroup cols={2}>
  <Card title="TypeScript" icon="js" href="/sdks/typescript">
    `npm install @nexspace/sdk`

    Full TypeScript types, tree-shakeable ESM, automatic retry with backoff.
  </Card>

  <Card title="Python" icon="python" href="/sdks/python">
    `pip install nexspace`

    Pydantic v2 models, httpx async client, PEP 561 typed.
  </Card>
</CardGroup>

## SDK Features

| Feature                | TypeScript                         | Python           |
| ---------------------- | ---------------------------------- | ---------------- |
| Typed request/response | Yes                                | Yes (Pydantic)   |
| Automatic retry        | Yes (3 attempts)                   | Yes (3 attempts) |
| API versioning         | Yes (`NexSpace-Version` header)    | Yes              |
| Idempotency keys       | Yes (auto-generated for mutations) | Yes              |
| Streaming              | Planned                            | Planned          |

## Generation

Both SDKs are generated from the OpenAPI spec (`server/openapi/openapi.yaml`)
via [Stainless](https://stainless.com). When the spec or `stainless.config.yml`
changes, the `Build Stainless SDKs` CI workflow regenerates both SDKs and opens
a release PR to the language production repos. See
[`tools/stainless/README.md`](https://github.com/Nexspace365/NexSpace/blob/production/tools/stainless/README.md)
for the pipeline and [ADR 0001](https://github.com/Nexspace365/NexSpace/blob/production/docs/decisions/0001-sdk-mcp-generator.md)
for the decision record.
