Appearance
Installation
Python
Requires Python 3.10+.
bash
pip install ovrinThe package depends only on httpx.
python
import ovrin
client = ovrin.Client() # OVRIN_API_KEY from the environment
client = ovrin.Client(api_key="ovrin_...") # or pass it explicitly
client = ovrin.Client(base_url="https://api.ovrin.app")Errors raise a typed hierarchy — branch on class, not prose:
python
from ovrin import AuthenticationError, NotFoundError, QuotaError, ApiErrorEvery mutating sandbox call accepts idempotency_key= so retries are safe.
TypeScript / JavaScript
Requires Node 18+ (global fetch). No runtime dependencies.
bash
npm install ovrints
import { Ovrin } from "ovrin";
const client = new Ovrin(); // OVRIN_API_KEY from the environment
const client = new Ovrin({ apiKey: "ovrin_..." }); // or pass it explicitly
const client = new Ovrin({ baseUrl: "https://api.ovrin.app" });ts
import {
AuthenticationError,
NotFoundError,
OvrinError,
QuotaError,
} from "ovrin";Plain HTTP
The API is REST with JSON bodies. Authenticate every request:
Authorization: Bearer $OVRIN_API_KEYBase URL: https://api.ovrin.app. See the REST reference for the endpoint catalog.
Environment variables
| Variable | Used by | Purpose |
|---|---|---|
OVRIN_API_KEY | Python & TypeScript clients | Default API key |
OVRIN_BASE_URL | Python & TypeScript clients | Override the API base URL |
Self-hosting the runtime?
The upstream OpenSandbox SDKs (pip install opensandbox, @alibaba-group/opensandbox, …) talk to a lifecycle server directly. On Ovrin's cloud that server is internal — use the ovrin packages above. Self-hosters should follow the OpenSandbox documentation for those SDKs.