Nullspace ships a Python SDK, a TypeScript SDK, a CLI, a local MCP server, and an OpenAPI HTTP contract. These are alternative automation surfaces; you do not need to create a machine with one client before using another unless you intentionally pass an existing machine ID, volume ID, or template name between tools.

Python SDK

Use the Python SDK for application code, agents, notebooks, tests, and scripts:
python -m pip install "${NULLSPACE_SDK_INSTALL_SPEC:-nullspace-sdk==1.0.0}"
from nullspace import Machine

with Machine.create(template="base") as machine:
    result = machine.commands.run("echo hello", shell=True)
    print(result.stdout.strip())
Start with Python SDK Overview and SDK Reference.

TypeScript SDK

Use the TypeScript SDK for Node and browser apps, agents, and tests. Its public surface mirrors the Python SDK, camelCased:
npm install @nullspace/sdk@<version>
import { Machine } from "@nullspace/sdk";

await using machine = await Machine.create({ template: "base" });
const result = await machine.commands.run("echo hello", { shell: true });
console.log(result.stdout.trim());
Start with the TypeScript SDK Overview.

CLI

Use the CLI for local workflows, shell scripts, CI jobs, and quick inspection:
python -m pip install "nullspace-sdk[cli]==1.0.0"
nullspace auth login --api-url https://api.13-215-85-171.sslip.io
nullspace doctor
nullspace quickstart
For a self-hosted single-host appliance, use the operator key and local Caddy origin instead:
export NULLSPACE_API_KEY="$(sudo cat /etc/nullspace/operator-api-key)"
export NULLSPACE_API_URL=http://localhost
nullspace doctor
Start with CLI Installation and the CLI Reference.

Local MCP

Use MCP when Codex, Claude Code, Cursor, VS Code, or another local agent should call Nullspace tools through typed command schemas:
python -m pip install "nullspace-sdk[cli,mcp]==1.0.0"
nullspace mcp serve --help
See Local MCP for client-specific setup.

Raw HTTP API

Use raw HTTP when you are integrating from a language without a first-party SDK:
curl -fsS \
  -H "Authorization: Bearer ${NULLSPACE_API_KEY}" \
  "${NULLSPACE_API_URL}/v1/machines"
The API Reference is generated from the repository OpenAPI spec. See API Reference Scope before relying on operator-only routes. Start with API Reference for a complete curl and JavaScript fetch walkthrough.

Console

The hosted or self-hosted console is useful for human inspection of machines, templates, snapshots, volumes, API keys, usage, audit information, and settings. Treat the SDK, CLI, MCP server, and HTTP API as the automation surfaces.