# Build on Maritime

## SDK

Building on Maritime means giving every one of *your* users their own agent, sandbox or computer from your backend through the SDK. One call on sign-up spins up an isolated agent on Maritime's infrastructure; another sends it a message. You never touch a container. Maritime handles provisioning, per-customer isolation, sleep/wake, and billing.

- [GitHub](https://github.com/maritime-sh/maritime-sdk)
- [npm · maritime-sdk](https://www.npmjs.com/package/maritime-sdk)
- [PyPI · maritime](https://pypi.org/project/maritime/)

*Diagram: How the Maritime SDK fits: your backend calls maritime-sdk, which calls the Maritime API, which runs one isolated agent per customer. Your backend calls the SDK; Maritime runs an isolated agent for every one of your customers.*

The whole thing: provision an agent for a customer, then chat with it. Real code, real agent, real reply. The same three lines in either language:

### TypeScript

*Recording: The Maritime TypeScript SDK provisioning an agent and getting a reply.*

### Python

*Recording: The Maritime Python SDK provisioning an agent and getting a reply. provision() is idempotent: the same call on every sign-in returns the same agent.*

## Install

### TypeScript

```bash
npm install maritime-sdk
```

### Python

```bash
pip install maritime
```

Zero dependencies. TypeScript needs Node 18+ (or Bun / Deno / edge); Python needs 3.9+.

## Explore the SDK

- [Quickstart](/content/docs/sdk/quickstart/index.html): Install, get a key, provision + chat with your first agent
- [Agents](/content/docs/sdk/agents/index.html): Provision, chat, per-customer secrets, lifecycle, logs
- [Webhooks](/content/docs/sdk/webhooks/index.html): Signed lifecycle events instead of polling
- [End users](/content/docs/sdk/end-users/index.html): Your users as records: policy, tokens, suspension, rebilling
- [Authentication](/content/docs/sdk/authentication/index.html): API keys and scopes
- [Sandboxes](/content/docs/ephemeral-sandboxes/index.html): Linux machines you create, run and end from code
- [Swarms](/content/docs/swarms/index.html): One command on many sandboxes at once
- [Computers](/content/docs/computers/index.html): Linux or Windows desktops your own model drives
- [Networks](/content/docs/networks/index.html): Internet policy, exits and private access
- [API reference](/content/docs/sdk/index.html): Every method, both languages
- [Examples](/content/docs/sdk/examples/index.html): Real, runnable files on GitHub

> **Note: Prefer raw HTTP, or another language?**  
> Every SDK call maps 1:1 to the [REST API](/content/docs/api/index.html). The  
> [framework comparison](/content/docs/frameworks/index.html) covers the templates, and the SDK  
> source (with runnable examples) lives at  
> [github.com/maritime-sh/maritime-sdk](https://github.com/maritime-sh/maritime-sdk).
