slurm-script-generator#
A Python library and command-line toolkit for generating, managing, and monitoring SLURM jobs.
Install with pip:
pip install slurm-script-generator
—
Quickstart#
Generate a SLURM script from the command line:
generate-slurm-script --nodes 2 --ntasks-per-node 16 --job-name my_job --output job.sh
Or from Python:
from slurm_script_generator.slurm_script import SlurmScript
script = SlurmScript(
job_name="my_job",
nodes=2,
ntasks_per_node=16,
time="04:00:00",
custom_commands=["srun ./myprog > output.txt"],
)
script.save("job.sh")
Submit and wait for it to finish:
import subprocess
from slurm_script_generator.squeue import SQueue
result = subprocess.run(["sbatch", "job.sh"], capture_output=True, text=True, check=True)
job_id = int(result.stdout.strip().split()[-1])
SQueue().wait_until_done(job_id=job_id)
Inspect the live queue:
slurm-queue # per-user summary
slurm-queue list # one row per job
slurm-queue stats # partition and state breakdown
slurm-queue history # job accounting (sacct)
—