Skip to content

Java SDK

Install (Maven)

<dependency>
<groupId>ai.isorun</groupId>
<artifactId>isorun-sdk</artifactId>
<version>0.2.0</version>
</dependency>

Authenticate

Terminal window
export ISORUN_API_KEY="isorun_live_<region>_<id>_<hmac>"
export ISORUN_API_URL="https://api.isorun.ai" # optional

Quickstart

try (Sandbox sb = Sandbox.create("python")) {
ExecResult result = sb.exec("python3 -c 'print(42)'");
System.out.println(result.stdout().trim());
}

Configure and create

var opts = SandboxOptions.builder()
.image("python:3.12")
.vcpus(2)
.memMib(2048)
.timeout(60)
.sandboxTimeout(900)
.build();
try (Sandbox sb = Sandbox.create(opts)) {
System.out.println(sb.exec("python3 --version").stdout());
}

Streaming, snapshots, restore

var result = sb.execStream("python3 train.py", chunk -> {
System.out.printf("[%s] %s", chunk.stream(), chunk.data());
}, 600);
String snapshotId = sb.checkpoint();
try (Sandbox restored = Sandbox.restore(snapshotId, SandboxOptions.builder().build())) {
System.out.println(restored.run("cat /etc/os-release"));
}

Production checklist

  • Use try-with-resources for cleanup.
  • Set explicit command timeouts.
  • Log sandbox IDs with request IDs.