Skip to content

Commit

Permalink
chore: update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
kabouzeid committed Jul 28, 2024
1 parent 1edfb2d commit 9fbde55
Showing 1 changed file with 14 additions and 20 deletions.
34 changes: 14 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,60 +6,54 @@ A text-based user interface (TUI) for the [Slurm Workload Manager](https://slurm

`turm` accepts the same options as `squeue` (see [man squeue](https://slurm.schedmd.com/squeue.html#SECTION_OPTIONS)). Use `turm --help` to get a list of all available options.

## Project status
## Installation

This project is currently a work in progress but the basic functionality is there.
There are still some missing features that need to be implemented and a few visual bugs present at the moment.
Please feel free to submit any issues or feedback you may have.
`turm` is available on [PyPI](https://pypi.org/project/turm/) and [crates.io](https://crates.io/crates/turm):

## Installation
```shell
# With pip.
pip install turm

### From source
# With pipx.
pipx install turm

```bash
# With cargo.
cargo install turm
```

### From binaries
The [release page](https://github.com/kabouzeid/turm/releases) also contains precompiled binaries for Linux.

The [release page](https://github.com/kabouzeid/turm/releases) includes precompiled binaries for Linux, macOS and Windows.
Statically-linked binaries are also available: look for archives with `musl` in the file name.
### Shell Completion (optional)

## Shell Completion

### Bash
#### Bash

In your `.bashrc`, add the following line:
```bash
eval "$(turm completion bash)"
```

### Zsh
#### Zsh

In your `.zshrc`, add the following line:
```zsh
eval "$(turm completion zsh)"
```

### Fish
#### Fish

In your `config.fish` or in a separate `completions/turm.fish` file, add the following line:
```fish
turm completion fish | source
```

### Other Shells

Completion scripts for other shells (`elvish` and `powershell`) can be generated with `turm completion <shell>`.

## 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](https://slurm.schedmd.com/squeue.html#OPT_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
### Ressource usage

TL;DR: `turm``watch -n2 squeue` + `tail -f slurm-log.out`

Expand Down

0 comments on commit 9fbde55

Please sign in to comment.