Skip to main content

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 and n/N match 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, error styling across apps.
  • Prompts: ask, ask_yn, confirm, prompt_int, prompt_float, prompt_out, prompt_path, plus out_note for "where did my report go" footers.
  • Capture: run_with_capture wrapper 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:

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

vir_tui-2.2.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vir_tui-2.2.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

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

Hashes for vir_tui-2.2.0.tar.gz
Algorithm Hash digest
SHA256 9dd8bbfc47d43a3e4bfa532439bae296328b2110b065d5d7ae3713ba3a3b97bc
MD5 510d971e299c59c991b837881ad4e19a
BLAKE2b-256 e28be1ba661262a38912ec6ff9acc356ce48a42ce14dd604cab5e5fb2e1641f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for vir_tui-2.2.0.tar.gz:

Publisher: publish.yml on VirInvictus/vir-tui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for vir_tui-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 66f49372d3103cca64f1d2d80a8733235e2b3ac8386de2e78ca6e08077d5251f
MD5 abd9246e975013e0f589eb491e6e50ab
BLAKE2b-256 fd4514dc45fb910572ef7a006cfacf76f699fb0693e3317324d117817717627d

See more details on using hashes here.

Provenance

The following attestation bundles were made for vir_tui-2.2.0-py3-none-any.whl:

Publisher: publish.yml on VirInvictus/vir-tui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.3.0

2 files

This release

2.2.0 This release

2 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