Environment is a single VM in a Session. Access via session.envs or session.get_env(alias).
Declaring envs
Build env configs with theEnv helper, then pass to plato.sessions.create(envs=[...]).
Env.simulator(name) boots whatever artifact is configured as the sim’s example version. Not every sim has one set, and the example can change underneath you. For reproducible runs, grab an artifact ID from the sim’s Versions list in the Plato dashboard and use Env.artifact(...).Operations
reset()
Reset just this env without touching others.
get_state()
close()
Tear down just this VM. Usually session.close() is what you want.
env.sdk — sim-specific client
env.sdk lazy-loads the sim’s own client based on the env’s simulator field (resolved from plato.sims.{name}). For desktop envs (currently ubuntu-vm), this is the entire computer-use surface — see Computer Use → Tools.
Properties
| Property | Type | Description |
|---|---|---|
job_id | str | Unique VM/job identifier |
alias | str | Human-readable alias |
simulator | str | None | Sim name (e.g. "espocrm", "ubuntu-vm") |
artifact_id | str | None | Source artifact ID |
is_desktop | bool | True for desktop / computer-use envs |
mesh_ip | str | None | WireGuard mesh IP |
internal_hostname | str | {alias}.plato.internal — reachable from other VMs in the session |
session_id | str | Parent session ID |