ReferencesBiosimulant LibraryLabs Serve UI

Labs Serve UI

The Labs Serve UI is the bundled local web interface for runnable Biosimulant labs. It is served by the open-source biosimulant Python package and does not require a separate frontend package or Python extra.

pip install biosimulant
biosimulant labs serve ./my-lab

The canonical UI URL is the root path:

http://127.0.0.1:8765/

biosimulant labs serve opens the browser by default. Use --no-open for headless scripts or remote shells.

Compatibility Redirect

/ui and /ui/ redirect to / for compatibility during the transition from the older local UI. There is no supported /ui/api surface.

API Envelope

Local UI endpoints return:

{ "ok": true, "data": {}, "error": null }

Errors return:

{ "ok": false, "data": null, "error": { "message": "..." } }

Endpoints

EndpointMethodPurpose
/api/labGETCurrent lab manifest, resolved model metadata, and layout
/api/runsGETIn-memory run history for this serve process
/api/runsPOSTStart a local run
/api/runs/{id}GETRun status and metadata
/api/runs/{id}/resultsGETCollected run results and visuals
/api/runs/{id}/logs?since_seq=...GETRun log entries
/api/runs/{id}/cancelPOSTRequest cancellation
/api/lab/models/{alias}PUTPersist model alias/parameter updates to lab.yaml
/api/lab/worldPUTPersist world IO, runtime, and wiring updates to lab.yaml
/api/lab/layoutPUTPersist canvas layout to wiring-layout.json

Run Overrides

POST /api/runs accepts optional parameters and simulation_config fields. World input names are mapped through manifest.io.inputs[].maps_to; direct alias.port keys are also accepted. Per-model parameter overlays apply only to that run.

Persistence

  • lab.yaml is the source of truth for manifest edits.
  • wiring-layout.json stores canvas positions.
  • Run history does not persist across server restarts.