A TUI for the Slurm Workload Manager.
Project description
turm
A text-based user interface (TUI) for the Slurm Workload Manager, which provides a convenient way to manage your cluster jobs.
turm accepts the same options as squeue (see man squeue). Use turm --help to get a list of all available options.
Installation
turm is available on PyPI and crates.io:
# With uv.
uv tool install turm
# With pip.
pip install turm
# With cargo.
cargo install turm
# With wget. Make sure ~/.local/bin is in your $PATH.
wget https://github.com/kabouzeid/turm/releases/latest/download/turm-x86_64-unknown-linux-musl.tar.gz -O - | tar -xz -C ~/.local/bin/
The release page also contains precompiled binaries for Linux.
Shell Completion (optional)
Bash
In your .bashrc, add the following line:
eval "$(turm completion bash)"
Zsh
In your .zshrc, add the following line:
eval "$(turm completion zsh)"
Fish
In your config.fish or in a separate completions/turm.fish file, add the following line:
turm completion fish | source
How it works
turm obtains information about jobs by parsing the output of squeue.
The reason for this is that squeue is available on all Slurm clusters, and running it periodically is not too expensive for the Slurm controller ( particularly when filtering by user).
In contrast, Slurm's C API is unstable, and Slurm's REST API is not always available and can be costly for the Slurm controller.
Another advantage is that we get free support for the exact same CLI flags as squeue, which users are already familiar with, for filtering and sorting the jobs.
Ressource usage
TL;DR: turm ≈ watch -n2 squeue + tail -f slurm-log.out
Special care has been taken to ensure that turm is as lightweight as possible in terms of its impact on the Slurm controller and its file I/O operations.
The job queue is updated every two seconds by running squeue.
When there are many jobs in the queue, it is advisable to specify a single user to reduce the load on the Slurm controller (see squeue --user).
turm updates the currently displayed log file on every inotify modify notification, and it only reads the newly appended lines after the initial read.
However, since inotify notifications are not supported for remote file systems, such as NFS, turm also polls the file for newly appended bytes every two seconds.
Star History
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file turm-0.11.0-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ef25272ee19acf6e39debe01edd6e0ddcbf51e9f1662cf6b2f252542366b198
|
|
| MD5 |
382ecbca85b2acef1de379356b2506e8
|
|
| BLAKE2b-256 |
7c01980bf9c9b0c90fef223abc46693af66628211bd414fcec72bdeac810fd2d
|
File details
Details for the file turm-0.11.0-py3-none-musllinux_1_2_i686.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-musllinux_1_2_i686.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7450f526ae6c514da8c49112c75fed389dcb7c91637bb81b007a6eac80c88fa6
|
|
| MD5 |
1d982d46ee0d98a1d325f6f7e6ad84e0
|
|
| BLAKE2b-256 |
382d03990a11b2181103d0b825daf0052d56dd9df273585907bf5e6adacfb294
|
File details
Details for the file turm-0.11.0-py3-none-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b3ff3ea9d08b085e90475a7c72f2f40aee8711dee393bad53295757c19f6455
|
|
| MD5 |
6175f8042c51e8ea61e31dde07cec011
|
|
| BLAKE2b-256 |
d60b64bc67597e27ad09d5bfd65965085f336d6644a4dfa8a780683eb2f1354c
|
File details
Details for the file turm-0.11.0-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca1711d155e2ca8c0d61709a58448b445639dbd87ba231a040d476340a57b7bd
|
|
| MD5 |
911401d606dd5b92c97978581eb1ebc3
|
|
| BLAKE2b-256 |
c7642a5a30a00b4eccc75d36c1e76f4603280f43c8967fd451d4a6ab4b9b6b7a
|
File details
Details for the file turm-0.11.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d226fa6ecfcffaa6aec970196db3243445b7fd46c7d19c37e9e5af2be2525c6d
|
|
| MD5 |
cea402d28dbb186e2c3e5be4274199fb
|
|
| BLAKE2b-256 |
e998739ede7457de13490330f27f115d0cdd54cd5ff475c9ad5c41df370169cd
|
File details
Details for the file turm-0.11.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a75d57b7a9c79d3d3d47612c9b7999de2531d99993b1487abb1309319924496e
|
|
| MD5 |
9606ef1ba110da4f81e558956f99284c
|
|
| BLAKE2b-256 |
c649096444e09e595394be1695df4d9d1705c88bab41a9365c82afa511992a0d
|
File details
Details for the file turm-0.11.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c52b912d90e207178c2417ac150cf8f5cea40620635beb5f9d1f5d1f368012f9
|
|
| MD5 |
de54e301241118e755b549c3def782df
|
|
| BLAKE2b-256 |
08b483306d025a6cccf788fbf11fa6b3cd12df9ccab495beba3f40bf481be29f
|
File details
Details for the file turm-0.11.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e22fccc187caaab96fa04a8b057aa15cd96c5b81c1cce447bd6354b9bc584b45
|
|
| MD5 |
855bf4494c8084899f2d21462df6ddff
|
|
| BLAKE2b-256 |
9e446d3141327900dfca014f6007273ce286000a6545eabc542c3fea8352c85d
|
File details
Details for the file turm-0.11.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5c1e2086953760101e058e3f86d41554b0caf270a53dc68ffe8bd0f370fde44
|
|
| MD5 |
dc246b04887999fe6a4f80604954d121
|
|
| BLAKE2b-256 |
f57f905f72ff053891bdaae32688a394fefa1ff573aa5ff37027f36bf2abcea5
|
File details
Details for the file turm-0.11.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: turm-0.11.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42dfab2a0be26c4db92909c29607387762667640ca9da5b559b79b6912579ef7
|
|
| MD5 |
c9dc08189e1fbd7d8095f3359533c03c
|
|
| BLAKE2b-256 |
6b9ba773e88a35c95c7c0f88ca8fed96811b81fe2d87962cd529e42b46620332
|