Run PYSTILT projects at scale outside Slurm: Kubernetes Jobs, queues, autoscaled workers, and outputs on an object store.
PYSTILT runs a project's receptors on one machine or as a Slurm job array, and each task of an
array is one command line, stilt run <project> --task I/N. pystiltctl starts those command
lines elsewhere and keeps the project and its outputs in sync. It calls PYSTILT; PYSTILT knows
nothing of it. AGENTS.md draws the line between the two.
The layout follows Ben Fasoli's stiltctl, which ran STILT-R on Kubernetes. This is a new codebase that runs PYSTILT.
Status: started. Nothing runs yet.
From GitHub:
pip install git+https://github.com/jmineau/pystiltctlpystiltctl requires Python 3.11 or newer.
https://jmineau.github.io/pystiltctl/
Contributions are welcome; see CONTRIBUTING.md. In short:
uv sync # .venv with the package and the dev tools
uv run pre-commit install
just quality-check # lint, type check, docstrings, testsMIT; see LICENSE.