spino.runner module

runner: headless subprocess entry point that executes the scheduling pipeline.

Usage:

python -m spino.runner /path/to/settings.json

It overlays the JSON settings onto the pipeline’s phase_config module and then calls phase_scheduler.main(). The GUI launches this in a subprocess and streams its stdout into the log pane; running it by hand is also the recommended headless smoke test.

Why overlay-then-import: phase_scheduler binds CUSTOM_PLANETS at import time (from phase_config import CUSTOM_PLANETS), so every override must be applied to phase_config before phase_scheduler is imported. The remaining globals are re-read inside main() and pick up the overrides regardless.

spino.runner.run(settings_path)[source]

Apply settings_path to phase_config and run the pipeline.

Returns a process-style exit code (0 on success).

Return type:

int

Parameters:

settings_path (str)

spino.runner.main()[source]
Return type:

None