Skip to main content

Salt TUI

A Textual frontend for Salt CLI operations, structured state returns, local history, and SLS exploration. Salt remains the source of truth for state rendering and execution.

Install

Python 3.11 or newer and pipx are required. The package uses an isolated pipx environment and does not install into Salt's Python runtime. Install from PyPI with:

pipx install salt-tui
salt-tui

Upgrade with pipx upgrade salt-tui and uninstall with pipx uninstall salt-tui. Uninstalling leaves your configuration and history in your user directories. Check an installation without opening the TUI using salt-tui --version or salt-tui --help. Prereleases require an explicit request, such as pipx install --pip-args='--pre' salt-tui.

For a development checkout:

git clone https://github.com/pratik-anurag/salt-tui.git
cd salt-tui
python -m venv .venv
. .venv/bin/activate
python -m pip install -e '.[dev]'
python -m pytest
salt-tui
python -m salt_tui --version

To test a local release artifact, run python -m build and then pipx install ./dist/salt_tui-X.Y.Z-py3-none-any.whl. Replace X.Y.Z with the version you built. Salt CLI executables are discovered at runtime on PATH; Salt is not a Python dependency of this package.

Without Salt binaries, the UI opens with capability information and retains local history and SLS browsing. With salt, master commands are available; salt-call enables local minion commands. The app also detects salt-run and salt-key for their supported views. Live Salt behavior depends on the installed Salt CLI and access to a Salt environment. This package has been exercised on macOS; Linux is used in CI.

Use

c opens the generic command runner. Enter a normal Salt command, review the exact command preview, then run it. For state changes, a confirmation displays target, action, environment, and test mode. Test first adds test=True to state functions. Run Live publishes a state job asynchronously and opens minion progress when the Salt event bus is available. e opens the event stream and v returns to the selected live run. r opens state results; f and Shift+F visit failed states. h opens persisted history; highlight one run and press x, then another and x to compare state results. s browses configured local file roots and invokes Salt's state.show_sls or state.show_low_sls for compiled views. g opens the compiled dependency graph, where u and n follow connected states and o opens source. j shows Salt runner job data.

Ctrl+M opens a paged state × minion matrix for the selected run, with fleet drift filters and per-state details.

Direct entry points open the corresponding screen:

salt-tui sls nginx
salt-tui run state.highstate
salt-tui history
salt-tui failures
salt-tui events
salt-tui intelligence
salt-tui performance
salt-tui runner
salt-tui orchestration
salt-tui targets
salt-tui matrix
salt-tui diagnostics --output ./salt-tui-diagnostics.zip

Configuration is read from ~/.config/salt-tui/config.toml (or $XDG_CONFIG_HOME/salt-tui/config.toml). Copy sample-config.toml and adapt command paths and file roots. History defaults to $XDG_DATA_HOME/salt-tui/history.db or ~/.local/share/salt-tui/history.db. It does not write into Salt's cache.

See architecture, Stage 2 progress, plugin API, keyboard shortcuts, and the release checklist.

Salt TUI dashboard preview

Salt TUI event stream preview

Metadata

Release files for salt-tui 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for salt-tui 0.1.1
File Size Uploaded
salt_tui-0.1.1.tar.gz 280.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for salt-tui 0.1.1
File Interpreter ABI Platform
salt_tui-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 352.0 kB

Release files / salt_tui-0.1.1.tar.gz

Download URL salt_tui-0.1.1.tar.gz
Size 280.0 kB
Tags Source
SHA-256 checksum
How to use checksums
51d5041643932e386e80ce1807b1ccc592eb98622dd7de44e372913a46340ba0
BLAKE2b-256 checksum
How to use checksums
eaa0cf68b94271d39925ccaf80293b0a474b01cdc22adf65fbf8a487db964159
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.

Transparency log

Release files / salt_tui-0.1.1-py3-none-any.whl

Download URL salt_tui-0.1.1-py3-none-any.whl
Size 72.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27debceead2cc9cc733958b337988f1578f79174efc2daec81891377800046c7
BLAKE2b-256 checksum
How to use checksums
7f343a84d413198cdc48580ac756d777081db8fe8eaf4ba966d1816b101e6542
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page