Skip to main content

Personal-use console utilities library

Project description

TUI Utilities

Personal-use console utilities library providing styled terminal interaction, structured menus, robust input validation, formatting helpers, and Spanish-oriented user experience.

/--------------------------------------------------------------------------------------------------------/

Purpose

This library is designed for console-based applications that need:

  • Clean TUI

  • Structured Spanish-language user interaction

  • Robust validation

  • Consistent formatting

/--------------------------------------------------------------------------------------------------------/

Dependencies

Standard library modules are used where possible; only external dependencies are listed:

  • rich

  • readchar

  • requests

/--------------------------------------------------------------------------------------------------------/

Features

/--------------------------------------------------------------------------------------------------------/

Console Utilities (console)

Styled terminal interaction built on rich:

  • print(): styled print function built on rich, supporting text styles, alignment, padding, and per-segment styling.

  • input(): styled input function built on rich, supporting text styles and automatically trimming whitespaces.

  • clear_console(): clears the terminal screen.

  • wait_for_key(): pauses execution until the user presses a key.

/--------------------------------------------------------------------------------------------------------/

Structure Utilities (structure)

Tools for building structures in console applications:

  • header(): prints a styled header, consisting of a title and a separator.

  • menu(): creates interactive selection menus with automatic numbering and special options like "Go back" and "Exit".

  • confirmation_menu(): creates a confirmation dialog with custom message and options.

  • confirm_exit(): creates a confirmation dialog that exits the program safely (uses confirmation_menu()).

  • table(): creates personalized tables with easy introduction of fully-styled columns and rows.

  • separator(): prints a fully-personalized visual separator line.

  • error_message(): displays formatted error information including:

    • Custom message

    • Exception details

    • Full traceback

/--------------------------------------------------------------------------------------------------------/

Input Validation (validation)

Interactive validation utilities for user input.

  • check_if_empty(): checks if a list is empty and displays an error screen.

  • validate_option(): validates user selection from a dictionary of options.

  • validate_string(): ensures non-empty string input.

  • validate_integer(): validates integers (uses Continental European numeric format).

  • validate_double(): validates decimal numbers (uses Continental European numeric format).

  • validate_date(): validates date and time input (uses Day–Month–Year date format with 24-hour time).

  • validate_id(): validates Argentinian national ID numbers.

  • validate_cellphone_number(): validates cellphone numbers (uses Argentinian format).

  • validate_email(): validates e-mail addresses using an official TLDs list (from IANA's website) or syntax fallback (in case of not having an internet connection or a locally imported list of TLDs).

/--------------------------------------------------------------------------------------------------------/

Formatting Helpers (format)

Utilities for applying consistent formatting:

  • decimal_format(): applies Continental European numeric formatting.

  • format_datetime(): formats datetime objects (uses Day–Month–Year date format with 24-hour time).

  • id_format(): formats Argentinian national ID numbers.

  • cellphone_number_format(): formats cellphone numbers (uses Argentinian format).

/--------------------------------------------------------------------------------------------------------/

System Utilities (system)

Helpers for interacting with the operating system console environment:

  • set_window_title(): sets the console window title.

  • maximize_window(): maximizes the console window.

  • set_locale(): configures the process locale for number, date, and cultural formatting.

/--------------------------------------------------------------------------------------------------------/

Installation

pip install tui_utilities

/--------------------------------------------------------------------------------------------------------/

Update

pip install -U tui_utilities

Project details


Release history Release notifications | RSS feed

This version

1.6.1

Download files

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

Source Distribution

tui_utilities-1.6.1.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

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

tui_utilities-1.6.1-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file tui_utilities-1.6.1.tar.gz.

File metadata

  • Download URL: tui_utilities-1.6.1.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for tui_utilities-1.6.1.tar.gz
Algorithm Hash digest
SHA256 232945ec3a5e15d40cf3656e4fb6a6e65d4ece07ff6504a62bca6f72fca0bba8
MD5 ff6b9f12f75ef25a2ea28f96be35ff01
BLAKE2b-256 d6c8d109dcd964f87f6789028feda6b36db6a08bed350cbb875aaa2eb2e2d2a1

See more details on using hashes here.

File details

Details for the file tui_utilities-1.6.1-py3-none-any.whl.

File metadata

  • Download URL: tui_utilities-1.6.1-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for tui_utilities-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a9294de224fef898565d2e8d53a166525da15d0d6e221233899635e929061a22
MD5 c2328c433927d167f301eb72a6797a52
BLAKE2b-256 0c8a2003812dabb8ae901761fa3848d5d0ef66a2543aaa6f0d5d6a66bb27e90d

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