Skip to main content

This project implements a keyboard-controlled text user interface (TUI) for the terminal that allows users to navigate menus and nested subsections using simple key inputs (w, s, Enter, Esc). It provides a lightweight framework for building interactive CLI applications with features like menu navigation, dynamic subsections, progress bars, and confirmation prompts.

Project description

py_menu_tui

py_menu_tui is a lightweight terminal user interface (TUI) navigation framework for Python.
It allows developers to quickly build interactive command-line menus with keyboard navigation and nested subsections.

The interface is controlled using simple keys and is designed for Windows terminals using msvcrt.


Features

  • Keyboard navigation (w / s)
  • Nested menu sections
  • Simple function binding to menu entries
  • Scrollable menus
  • Progress bar utility
  • Confirmation prompts
  • No external dependencies

Installation

Currently the package can be installed with:

pip install py_menu_tui

Controls
Key	Action
w	Move up
s	Move down
Enter	Select option
Esc	Go back
Ctrl+C	Exit program
Example
from win_nav_tui import UserInterface

def hello():
    print("Hello World")

ui = UserInterface(10)

ui.setup(
    ["Say Hello"],
    [hello]
)

ui.begin()
Creating Subsections
ui.add_sub_section(
    ["Option 1", "Option 2"],
    [func1, func2],
    section="Settings"
)
Utilities
Progress Bar
from win_nav_tui import progressbar

progressbar(50)
Clear Terminal
from win_nav_tui import clear
Confirmation Prompt
from win_nav_tui import confirm

if confirm("Continue?"):
    print("Confirmed")

Requirements

  • Python 3+
  • Windows terminal (uses msvcrt)
  • No external dependencies

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_menu_tui-0.2.0.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

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

py_menu_tui-0.2.0-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file py_menu_tui-0.2.0.tar.gz.

File metadata

  • Download URL: py_menu_tui-0.2.0.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for py_menu_tui-0.2.0.tar.gz
Algorithm Hash digest
SHA256 434fc46a7846257e4c3847b9acde1b3e3a733ae9a7eb526a0bd2a8df90e6696c
MD5 c355c6ce0f54257bef7f80ce05cf8393
BLAKE2b-256 706c21549b6fe680ebfe5b0f7898b426d0e0cef89b4af67db7f5a7208db891de

See more details on using hashes here.

File details

Details for the file py_menu_tui-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: py_menu_tui-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for py_menu_tui-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb25e842af98f9cb7661678674e0e29acf065542860667b7f1ba36ea4dcd193c
MD5 b6caf9171c7a8a21b569d3bbd9a5ca6f
BLAKE2b-256 710366ad2a60275d16a5eb25441ed5f8aea025de3e20bb23134c801f4c4947c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page