Python Process User Intent: A high-level abstract UI system (TUI, Web, Voice)
Project description
PPUI: Python Process User Intent 🎭
A high-level abstract UI system for Python scripts.
PPUI (pronounced "pui") is the Python implementation of the PUI (Process User Intent) philosophy.
The goal isn't just to "draw a menu"—it's to capture what the user wants to do next. Whether that intent is captured via a terminal hotkey, a web click, or a voice command, the script's logic remains the same.
PPUI: Because your scripts should care about what you want, not just how you say it.
Features
- High-level Abstractions: Use concepts like
SelectionandInputwithout caring about the rendering engine. - TUI Implementation: Professional, hotkey-driven terminal menus.
- Submenu Support: Nested selections with
push(drill-down) orinline(expandable) behaviors. - Rich Integration: Full support for Rich-formatted output and panels.
Installation
pip install ppui
Usage
High-Level Menu Class
The Menu class provides a declarative way to build interactive loops with callback support.
from ppui import Menu
def run_setup():
print("Running setup...")
def main():
menu = Menu("Project Manager", style="bold green")
menu.add_option("Setup Project", run_setup)
menu.add_option("View Dashboard", "view_dash")
# Submenu support
advanced = Menu("Advanced Settings")
advanced.add_option("DNS Config", lambda: print("Configuring DNS..."))
menu.add_submenu("Advanced...", advanced, behavior="push")
menu.add_back_item()
menu.add_quit_item()
selection = menu.run()
Project details
Release history Release notifications | RSS feed
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 ppui-2026.1.20.2.tar.gz.
File metadata
- Download URL: ppui-2026.1.20.2.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39d3b1ad0307184769a22cb3434e2a55476576db3ec81a5655c9ffb629ed0336
|
|
| MD5 |
6115ea862cf4cc8b87e1215be2a59396
|
|
| BLAKE2b-256 |
0514ea835dbd583369e593c8c8256e16e87b140329ccd0b087024ce21622f532
|
File details
Details for the file ppui-2026.1.20.2-py3-none-any.whl.
File metadata
- Download URL: ppui-2026.1.20.2-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8b91731d1915470722b96637d06cbcba919c4c2e66a13ce573c70348f62dea5
|
|
| MD5 |
0a342626fcf910ae45db3d8e8b6d4fb5
|
|
| BLAKE2b-256 |
32590e089fc296f950a3e1bf2bc3ec7194fa857a208207d44a3b7a7925e589a0
|