Tuiko
Status: work in progress — this project is NOT finished yet.
The API and behavior may change at any time without notice. Do not use it in production. Everything you see here is experimental.
Tuiko is a tiny TUI framework for Python — stdlib-only, zero third-party
dependencies. It renders with ANSI escape codes and reads input via msvcrt
(Windows) / termios (POSIX).
What works today
prompt— single-line text inputselect— pick one item, with digit jump (0-9)multiselect— pick many items at once (checkboxes)- Realtime search (
search=True) — type to filter the list live with the matching text highlighted, Inquirer-style: just type and pick;fuzzy=Truematches letters in sequence (e.g.sxkfinds "Spy x Family") progress— progress bar (percentage) + spinnerstatus— one-line noticesession— full-screen mode (alt screen + raw input)- Inquirer-style windowed scrolling; card width and items per window adapt to the terminal size automatically
What is missing
- Full API documentation
- Integration with other projects (e.g. Indonime)
- Battle-tested stability — expect rough edges
Quick usage
from tuiko import prompt, select, session
with session():
name = prompt("What's your name?", hint="[ESC] quit")
choice = select("Pick:", ["One", "Two"], search=True, fuzzy=True)
Customization
All text, icons, and colors can be overridden via tuiko.ui and tuiko.theme:
import tuiko
tuiko.ui.cursor = "▌" # input cursor
tuiko.ui.banner = "★ Tuiko" # wordmark
tuiko.ui.hint_select = "[↑/↓] Move · [ENTER] Select · [ESC] Cancel"
Examples
example.py— full flow with custom text & colorsexamples/custom_ui.py— override all text & iconsexamples/anime_search.py— anime search demo in the style of Indonime (mock data)
Run the demo
python -m tuiko
Tests
python -m unittest discover -s tests -v
Philosophy
Instead of patching InquirerPy via monkeypatching, all widgets are fully under our control — more stable and easier to understand.
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 tuiko-0.1.2.tar.gz.
File metadata
- Download URL: tuiko-0.1.2.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0a609a3594fcffadf0b4bec8237b7e6f9f38adffa100258b6955923100e9401
|
|
| MD5 |
69dcc7cf814612de0c20f2e64948acee
|
|
| BLAKE2b-256 |
4daade66cdbc32f3aa361f48e282fb0e3b597dfb8594c91e30d069cc67c95342
|
File details
Details for the file tuiko-0.1.2-py3-none-any.whl.
File metadata
- Download URL: tuiko-0.1.2-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cc397fb4fcaa8c324c594d93fa92a0e97ee80f90effb287e86bcbba5c472a24
|
|
| MD5 |
ddd068ed151518f9aeebd3b547a74691
|
|
| BLAKE2b-256 |
c9f8c38482e09e5153bb85050ba35a433afd16510c5df90aebb96cfdd2072692
|