Modern pure-Python cross-platform TUI framework with RAD designer, themes, mouse support, embedded terminals, and rich widgets
Project description
RunTUI — Modern Terminal UI Framework for Python
Build beautiful, interactive, mouse-aware terminal applications in pure Python — no curses, no ncurses, no external dependencies.
runtui is a full-featured, cross-platform TUI (Text User Interface) library written in 100% pure Python.
It brings modern desktop-like experience into your terminal: windows, dialogs, forms, image rendering, embedded terminals, mouse support, theming, layout managers and even a visual RAD (Rapid Application Development) designer.
Works seamlessly on Linux, macOS, and Windows
✨ Highlights
- Pure Python — zero compiled dependencies
- Cross-platform (Linux, macOS, Windows)
- Rich set of widgets — Button, Input, Password, TextArea, Dropdown, ListBox, CheckBox, Radio, Calendar, ColorPicker, ProgressBar, Image, real Terminal, etc.
- Multiple layout engines: Absolute, Box, Dock, Grid
- Theme engine with built-in themes: Dark, Light, Nord, Solarized, Turbo Vision / Borland style
- Mouse support (click, drag, scroll, hover)
- Window manager with floating & tiled windows + taskbar
- Dialogs: MessageBox, File Open/Save, Custom Forms
- Visual RAD designer (
rad_designer.py) — drag & drop UI building + code generation - Embedded terminal widget with PTY support (run vim, htop, bash, python REPL, … inside your app!)
- Clean event loop, timers, key bindings, context menus
Installation
pip install runtui
Run
python -m runtui.tui_os
python -m runtui.rad_designer
More examples in the examples/ folder:
cal.py— Calendarcalc.py— Calculatorchatbox.py— LLM Chat Appclock.py— A basic clock programdemo_app.py— widget showcasemine.py- window's mine gamenotes.py— mac os like personal notesrad_designer.py— visual designer (very cool!)puzzle.py— mac os like puzzle gametui_os.py— tui desktop / OS-like interface
It is highly recommended to run everything inside tui_os.py by browse these python files in Finder.
Why choose runtui over other TUI libraries?
| Feature | runtui | Textual | urwid | py_cui | rich + textual |
|---|---|---|---|---|---|
| Pure Python | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cross-platform (good) | ✓ | ✓ | △ | ✓ | ✓ |
| Mouse support | ✓ | ✓ | ✗ | ✓ | ✓ |
| Built-in themes | ✓ (many) | ✓ (CSS) | ✗ | ✗ | ✓ |
| Embedded terminal widget | ✓ (PTY) | ✗ | ✗ | ✗ | ✗ |
| Visual RAD designer | ✓ | ✗ | ✗ | ✗ | ✗ |
| Image rendering | ✓ | ✓ | ✗ | ✗ | ✓ |
| Floating windows + taskbar | ✓ | △ | ✗ | ✗ | ✗ |
| LLM Chat App | ✓ | ✗ | ✗ | ✗ | ✗ |
License
MIT
Made with ❤️ in the terminal
Start building your next TUI masterpiece today!
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
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 runtui-0.1.1.tar.gz.
File metadata
- Download URL: runtui-0.1.1.tar.gz
- Upload date:
- Size: 20.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e64465075a8dbc33cd40096edb521a1af550a48f14668c96abd7f77398772d8a
|
|
| MD5 |
4d3aea69beaf16aa3c90d950fd246ec7
|
|
| BLAKE2b-256 |
a80ea5d52afca25961cf657d5fd5c925487e676cc3d12dcd11086b09937c7460
|
File details
Details for the file runtui-0.1.1-py3-none-any.whl.
File metadata
- Download URL: runtui-0.1.1-py3-none-any.whl
- Upload date:
- Size: 162.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
118dc879120e51a13ba2ec7f051a68912cdecd097da2bf64276e88e6f088c060
|
|
| MD5 |
92cc1d7e73c4e89c8b93786477359440
|
|
| BLAKE2b-256 |
69ce05f8557b728b212d55a8e08013cfe140a8dd62cb4224a67ac6dd7c141f5c
|