beaupy
A library of elements for interactive TUIs in Python
Decision gist · record as of 2026-08-14
Yes. BeauPy is actively maintained, has no known security vulnerabilities, low install friction, and a permissive MIT license. It solves a real problem—interactive terminal UI elements are tedious to build from scratch—and has a stable API (production/stable classifier). Install it if you're building CLI tools that need user interaction beyond basic input/output.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction: pure Python wheel with four runtime dependencies (emoji, python-yakh, questo, rich).
- Actively maintained with a release 85 days ago and last commit on 2026-08-14.
License · maintenance · safety
MIT (permissive) — MIT license (permissive): you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2026-05-21 (85 days) · last repo commit 2026-08-14 · 239 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 91,069 downloads/mo, #13,544 on PyPI
Alternatives
Verify before relying
pip install beaupy
from beaupy import select, confirm
if confirm("Continue?"):
choice = select(["Option A", "Option B", "Option C"])
print(f"You chose: {choice}")- Whether the package works reliably with pdb debugging (known issue noted for versions 0.1.7+, status unclear for 3.12.0)
- Current state of Windows arrow-key support (issue noted for 3.0.0+, resolution status for 3.12.0 not explicit)
What it is and what it does
BeauPy is a Python library for building interactive terminal user interfaces with styled prompts and menus. It wraps common CLI patterns—single-select, multi-select, yes/no confirmation, and free-text input with validation—and renders them with rich formatting and emoji support via dependencies on rich, python-yakh for cross-platform input handling, emoji, and questo.
The library is designed for developers building CLI tools that need user interaction beyond simple print/input. It handles terminal rendering, keyboard navigation, and input validation in a single call, abstracting away the complexity of raw terminal control. Supports Python 3.7.8 through 3.14 on Windows, Linux, and macOS.
Use it for
- Build interactive CLI menus where users navigate and select from lists with arrow keys and styled cursors.
- Gather validated user input in terminal scripts—prompts with type conversion, custom validators, and optional input hiding.
- Create multi-choice selection dialogs for configuration wizards or batch operations in command-line tools.
- Add yes/no confirmation dialogs to CLI workflows to prevent accidental destructive actions.
- Display animated spinners during long-running CLI tasks to provide visual feedback to users.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
BeauPy is actively maintained, has no known security vulnerabilities, low install friction, and a permissive MIT license. It solves a real problem—interactive terminal UI elements are tedious to build from scratch—and has a stable API (production/stable classifier). Install it if you're building CLI tools that need user interaction beyond basic input/output.
Install
beaupy on PyPI
Before you install
Low friction: pure Python wheel with four runtime dependencies (emoji, python-yakh, questo, rich). Actively maintained with a release 85 days ago and last commit on 2026-08-14.
License in practice
MIT license (permissive): you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install beaupy
from beaupy import select, confirm
if confirm("Continue?"):
choice = select(["Option A", "Option B", "Option C"])
print(f"You chose: {choice}")
Verify before relying
- Whether the package works reliably with pdb debugging (known issue noted for versions 0.1.7+, status unclear for 3.12.0)
- Current state of Windows arrow-key support (issue noted for 3.0.0+, resolution status for 3.12.0 not explicit)
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release <4.0.0,>=3.7.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesemojipython-yakhquestorich |
| Maintenance | Actively maintained 85 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 91,069 / month, #13,544 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Terminals |
Evidence: beaupy-3.12.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “terminal user interface elements”
- beaupyBeauPy provides interactive CLI elements—select, multi-select,…
- asciimaticsAsciimatics provides cross-platform terminal UI and ASCII animation…
- questoQuesto provides modular, extensible CLI prompt elements (text input…
Give your agent the search over MCP, or paste the wish link into any chat.
More Terminals packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Rich renders styled text, tables, progress bars, syntax highlighting, markdown, and tracebacks to the terminal with minimal code.
Colorama makes ANSI escape sequences for colored terminal text work on Windows by intercepting and converting them to win32 API calls, while passing through unchanged on other platforms.
Install it if you need colored terminal output to work on Windows or want to use ANSI-based libraries portably; skip it only if you target non-Windows platforms…
Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.
Install it if your application formats text for terminals and handles non-ASCII characters.
Run a subprocess in a pseudo terminal (pty) and interact with its input and output, enabling automation of interactive programs that require terminal features like password prompts or curses-style interfaces.
However, note that it is aging (last release 2020-12-28) and not actively maintained; it works well for its narrow, well-defined purpose but won't receive updates for…
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
See also blessings · questo · simple-colors · inquirerpy · termcolor · ansicolors · trogon · pastel · inquirer3