vir-tui
A lightweight, terminal UI primitive library for the VirInvictus CLI toolchain.
Provides a raw TTY event loop, a grid-based menu renderer, robust cross-platform ANSI colors, input prompt lifecycles, and a fallback progress bar wrapper for CLI applications that run headless but offer an interactive terminal interface.
Powers CalibreQuarry and Lattice.
Python · stdlib
Features
- Menus: full-screen arrow-key
tui_select(sections, aliases, letter keys) with an automatic numbered text fallback when curses is unavailable; a scrollable, pannable results pager (tui_page) with/search andn/Nmatch jumping. - Progress:
progress_box()— a session-screen-aware curses progress box with a tqdm-like API and a pipe-safe text fallback. - Sessions:
interactive_session()context manager owning the curses screen lifecycle (open, degrade, close, KeyboardInterrupt cleanup). - Formatters: consistent
success,info,warn,errorstyling across apps. - Prompts:
ask,ask_yn,confirm,prompt_int,prompt_float,prompt_out,prompt_path, plusout_notefor "where did my report go" footers. - Capture:
run_with_capturewrapper for redirecting stdout/stderr into a temporary scrolling buffer while a background task runs, rendering a header/footer on top.
Support
If vir-tui's useful to you and you'd like to chip in:
- liberapay · liberapay.com/bdkl
- bitcoin
bc1qkge6zr45tzqfwfmvma2ylumt6mg7wlwmhr05yv
License
GPL-3.0-or-later.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 vir_tui-2.2.0.tar.gz.
File metadata
- Download URL: vir_tui-2.2.0.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dd8bbfc47d43a3e4bfa532439bae296328b2110b065d5d7ae3713ba3a3b97bc
|
|
| MD5 |
510d971e299c59c991b837881ad4e19a
|
|
| BLAKE2b-256 |
e28be1ba661262a38912ec6ff9acc356ce48a42ce14dd604cab5e5fb2e1641f6
|
Provenance
The following attestation bundles were made for vir_tui-2.2.0.tar.gz:
Publisher:
publish.yml on VirInvictus/vir-tui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vir_tui-2.2.0.tar.gz -
Subject digest:
9dd8bbfc47d43a3e4bfa532439bae296328b2110b065d5d7ae3713ba3a3b97bc - Sigstore transparency entry: 2691470354
- Sigstore integration time:
-
Permalink:
VirInvictus/vir-tui@86390a6004452dc6752b4cc9b26505e6de9811d6 -
Branch / Tag:
refs/tags/v2.2.0 - Owner: https://github.com/VirInvictus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@86390a6004452dc6752b4cc9b26505e6de9811d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vir_tui-2.2.0-py3-none-any.whl.
File metadata
- Download URL: vir_tui-2.2.0-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66f49372d3103cca64f1d2d80a8733235e2b3ac8386de2e78ca6e08077d5251f
|
|
| MD5 |
abd9246e975013e0f589eb491e6e50ab
|
|
| BLAKE2b-256 |
fd4514dc45fb910572ef7a006cfacf76f699fb0693e3317324d117817717627d
|
Provenance
The following attestation bundles were made for vir_tui-2.2.0-py3-none-any.whl:
Publisher:
publish.yml on VirInvictus/vir-tui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vir_tui-2.2.0-py3-none-any.whl -
Subject digest:
66f49372d3103cca64f1d2d80a8733235e2b3ac8386de2e78ca6e08077d5251f - Sigstore transparency entry: 2691470368
- Sigstore integration time:
-
Permalink:
VirInvictus/vir-tui@86390a6004452dc6752b4cc9b26505e6de9811d6 -
Branch / Tag:
refs/tags/v2.2.0 - Owner: https://github.com/VirInvictus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@86390a6004452dc6752b4cc9b26505e6de9811d6 -
Trigger Event:
push
-
Statement type: