Repository navigation
srunx sbatch used SLURM's command name but not its flags. This release aligns them, and fixes a bug found on the way.
Breaking changes
--quiet's short flag is now -Q, not -q. Real sbatch/squeue/scancel use -q for --qos. On sbatch, -q <value> now works as the --qos passthrough; on commands without a --qos it is simply unknown.
Four duplicate long aliases are gone. Use sbatch's own spellings instead:
| Removed | Use |
|---|---|
--name |
-J / --job-name |
--time-limit |
-t / --time |
--memory |
--mem |
--work-dir |
-D / --chdir |
--log-dir stays — it has no sbatch equivalent and expands to an --output/--error pair.
Native sbatch options now pass through
About 70 options (--array, --dependency, --account, --qos, --mail-type, …) are accepted in every real form — --array=1-10, --array 1-10, -a 1-10, -a1-10 — and forwarded to the actual sbatch invocation. --sbatch-arg is the escape hatch for anything the table doesn't cover.
srunx sbatch --array=1-10 --account=proj --qos=normal train.sh
srunx sbatch --wrap "python train.py" --dependency=afterok:123A typo still exits 2 rather than silently reaching sbatch. Long-option abbreviations are not recognized; use --sbatch-arg=--arr=1-10 to opt into one explicitly.
Options that would break srunx's reading of the submission result are refused (--parsable, --test-only, --quiet, --wrap, --help, --usage, --version). If job-ID parsing fails on a job that was submitted, srunx reports a failure the user then retries — double-submitting to the cluster.
Bug fix
srunx sbatch --local script.sh -t 5:00 silently dropped -t. Only the SSH in-place path consumed the flags the user typed; the local and SSH temp-upload branches never passed them on, so SLURM's own precedence (command line > SBATCH_* env > #SBATCH > site default) held or didn't depending on the transport. Now wired through all three.
Notes
--cpus-per-gpu and --tres-per-task=cpu:* are mutually exclusive with --cpus-per-task, which the --wrap template emitted unconditionally; the generated directive is now dropped when either is passed.
Array jobs submitted through --array are still mis-tracked by squeue/history — job IDs like 123_4 are parsed with int(), which reads them as 1234. Submission works; the monitoring side is tracked separately.
Full changelog: v4.3.0...v5.0.0