Create
Each example below is an equivalent alternative; clients do not share the same in-memory handle. The TypeScript SDK supportsinternetAccess and typed
egress policy on create. Use the Python SDK, CLI, or HTTP API when you need
raw network fields that the TypeScript SDK has not wrapped yet, such as
mask_request_host.
disk_mb sets the minimum rootfs size (MB). On cold create the disk is grown to this
size before boot, up to the current create limit of 163840 MiB (160 GiB).
Snapshot-backed templates fix their disk size at build time, so for those set the
size with Template.build(..., disk_mb=...) rather than per-create — passing a
larger disk_mb than the template’s built-in size is rejected.
Create From A Template Warm Pool
Use a template warm pool when many machines should start from the same ready custom template. Pass an explicit pool ID and checkout mode. The TypeScript SDK does not expose warm-pool checkout on create, so use the Python SDK, CLI, or HTTP API:prefer may cold-fallback, require fails with warm_pool_unavailable, and
bypass forces cold create. Snapshot restore, resume, fork, hibernate, and
pause do not use template warm-pool checkout.
Connect
Useconnect when another process created the machine or when a previous script
handed you a machine ID.
connect() resumes the snapshot and
returns a running machine handle. For a read-only lookup that does not wake
paused work, use Machine.get_info_by_id("mch_123"), nullspace machine get mch_123, or GET /v1/machines/mch_123 (see Inspect).
List
fields when you only need a compact response:
fields is set, the SDK returns raw dictionaries instead of a
MachinePaginator.
Inspect
Machine.get_info_by_id("mch_123"). For metrics without a handle, use
Machine.get_metrics_by_id("mch_123").
Cleanup
Use a context manager for short-lived tasks:machine.kill() or Machine.kill_by_id("mch_...")
when the work is complete.