Skip to main content
Nullspace machines move through explicit states instead of hiding lifecycle behind sessions. Use the state table when deciding whether to destroy, hibernate, resume, snapshot, or fork.

State Semantics

Timeout And Auto-Resume

timeout_ms controls when the reaper acts on an idle or long-running machine. The default timeout action is destroy. Use on_timeout="pause" or lifecycle.on_timeout: "pause" when the machine should hibernate instead. auto_resume=True lets SDK calls, command/file/PTY/desktop routes, or public traffic targeting the original machine ID wake a hibernated machine. Preview URL traffic waits for resume and then forwards the original request when the runtime is ready.

Create And Exec

Hibernate And Resume

pause() is an alias for hibernate().

Reusable Snapshots

Reusable snapshots keep the source machine running and can start many independent children with Machine.create(snapshot_id=...).

Fork

Destroy

Destroy releases runtime resources. It does not delete external durable data, such as shared volume contents.