PYTHONPUBLIC API

fastsim.api.run

Public Python API for fastsim.api.run; signatures are extracted directly from FastSim source.

Source src/fastsim/api/run.py

Public symbols 3

class

FastSimRun

L27
class FastSimRun(object)

Blocking application facade for exactly one immutable ExecutionPlan. Runtime, root control, bundle, backend and simulator-native objects remain behind the private composition root. Plugins use their injected async scoped services instead of calling this synchronous facade.

run_id
FastSimRun.run_id(self) -> str
plan_digest
FastSimRun.plan_digest(self) -> str
prepare
FastSimRun.prepare(self, timeout: float | None=None) -> ApplicationSnapshot
start
FastSimRun.start(self, timeout: float | None=None) -> ApplicationSnapshot

Prepare when necessary, then start plugins before Runtime physics.

pause
FastSimRun.pause(self, timeout: float | None=None) -> ApplicationSnapshot
resume
FastSimRun.resume(self, timeout: float | None=None) -> ApplicationSnapshot
single_step
FastSimRun.single_step(self, timeout: float | None=None) -> ApplicationSnapshot
reset
FastSimRun.reset(self, timeout: float | None=None) -> ApplicationSnapshot
stop
FastSimRun.stop(self, timeout: float | None=None) -> ApplicationSnapshot

Fully tear down the Run; use :meth:`pause` to preserve its world.

snapshot
FastSimRun.snapshot(self) -> ApplicationSnapshot
plugin_status
FastSimRun.plugin_status(self) -> PluginHostSnapshot | None
close
FastSimRun.close(self, timeout: float | None=None) -> ApplicationSnapshot

Close composition and its loop exactly once, attempting both layers.

function

open_plan

L183
open_plan(plan: ExecutionPlan, *, timeout: float | None=None, output_policy: RunOutputPolicy | None=None, checkpoint: str | Path | None=None) -> FastSimRun

Open one already compiled plan on a dedicated application-loop thread.

function

open

L250
open(path: str | Path, lock: str | Path | None=None, *, launch_profile: str | None=None, timeout: float | None=None, output_policy: RunOutputPolicy | None=None) -> FastSimRun

Compile a project Run, optionally override its launch profile, then open it. ``launch_profile`` is only a compilation input. It cannot modify an existing lock; regenerate the lock with the desired profile instead.