Numinous Cloud

Sandboxes for CI, test fleets, and agents. TTLs the platform enforces, failure causes a machine can read, exports that outlive the sandbox, billing by the second. Nothing preemptible. This page gets you from zero to a running sandbox.

1. Install

curl -fsSL https://cloud.numinous.technology/install.sh | sh
# or
pip install numinous

Either way you get the numinous CLI and the Python SDK.

2. Authenticate

export NUMINOUS_API_URL="https://api.cloud.numinous.technology"
export NUMINOUS_API_KEY="nk_..."

3. Pack a template

A template is your environment, snapshotted once with its toolchains, caches, and warmed daemons. Booting from it takes milliseconds to seconds instead of minutes.

numinous template pack --name build-env \
  --image ubuntu:24.04 \
  --warm "apt-get update && apt-get install -y build-essential"

4. Boot, run, export, destroy

from numinous import Numinous

nc = Numinous()

sb = nc.sandboxes.create(
    template_id="tpl_...",
    vcpu=4, mem_gib=8,
    ttl_seconds=7200,                  # absolute, enforced server-side
    launch_token="job-1-attempt-1",    # retries can never double your fleet
    labels={"trial_id": "tr_1"},
)

nc.sandboxes.exec(sb["id"], "make -j test")
nc.sandboxes.export(sb["id"], "/logs", to="s3://bucket/tr_1/")  # works after death
out = nc.sandboxes.destroy(sb["id"])
assert out["teardown_proof"]["verified_absent"]

nc.usage.query(label="trial_id:tr_1")   # per-second spans, typed unbilled faults

Where next

  • Guarantees. The contract itself: typed causes, TTLs, teardown proof, export after death.
  • HTTP API. Every endpoint, generated from the OpenAPI spec.
  • Python SDK and CLI reference.