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.
curl -fsSL https://cloud.numinous.technology/install.sh | sh
# or
pip install numinousEither way you get the numinous CLI and the Python SDK.
export NUMINOUS_API_URL="https://api.cloud.numinous.technology"
export NUMINOUS_API_KEY="nk_..."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"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