Skip to content

SDK

SDK reference

Current and planned language SDK surfaces for mvm.

The SDKs share one runtime model:

  • mvm executes sandboxes and enforces local runtime policy.
  • Workload IR is the shared build/deploy contract.
  • Runtime recordings and static decorators both lower into the same build path.
LanguageCurrent statusUse today
PythonPartial runtime SDK plus declarative workload SDK.Local runtime scripts and static declarations.
TypeScript/Node.jsPartial runtime SDK plus declarative workload SDK.Local runtime scripts and static declarations.
RustBuild-time SDK and lower-level IR contract, plus the MvmClient runtime client in mvm-client.Tooling, generators, typed declarations, and host-side machine lifecycle.

The language SDKs should converge on:

  • Sandbox.create(...)
  • a one-shot with a captured result — shipped as sandbox.exec(...) in Python and TypeScript
  • sandbox.files.read/write/list/remove(...) — shipped in Python and TypeScript
  • sandbox.logs(...)
  • declarative network.ports on Sandbox.create(...)
  • sandbox.snapshot(...)
  • sandbox.cold() / sandbox.resume()
  • sandbox.stop() / sandbox.destroy()
  • explicit audit/run identifiers in returned results

Methods not implemented in a language SDK should stay documented as planned, not implied by examples.

Python, TypeScript, and Rust also expose thin host-side wrappers for the beginner mvmctl machine ... surface. These wrappers shell through the CLI so OCI pull, admission, artifact verification, receipts, audit, networking, and persistent machine state stay owned by mvmctl; use Machine.check_artifact, Machine.checkArtifact, or Rust MachineCheckArtifact for the read-only machine check-artifact preview.