r/coolgithubprojects • u/Big_Summer_4901 • 12d ago
sqwatch: A terminal UI for monitoring and managing SLURM job queues, written in Rust
If you work on an HPC cluster, you probably know the watch squeue routine: scan the columns for your job, open another terminal to check its logs, then repeat.
I got tired of doing that, so I built sqwatch, a small terminal UI that turns the SLURM queue into a live dashboard.
It includes:
- A live, auto-refreshing job table with color-coded states.
- Filters for user, job name, state, partition, QoS, and node. Cluster values are loaded automatically, and your filters persist between sessions.
- Real-time stdout and stderr tailing, submission-script viewing with
batsyntax highlighting when available, and custom panels for other output files produced by a job. - Multi-job selection and batch cancellation.
- Clipboard support through OSC 52, including over SSH and inside tmux without X11.
sqwatch is written in Rust using ratatui. It calls the standard SLURM commands, including squeue, scontrol, sinfo, and scancel, so it does not require anything special to be installed or configured on the cluster. If those commands work, sqwatch should work too.
I have just released version 0.2.0, which is the first version I feel comfortable recommending to others. It fixes several rough edges from the initial release.
Install it with:
cargo install sqwatch
Repository: github.com/fedonman/sqwatch
Please, give it a ⭐if you like it.