Advanced console UI framework for Python with colors, animations, themes and interactive menus
Project description
🎨 FULLUI — Console UI System
Build beautiful, interactive terminal apps — fast.
FULLUI is a powerful and lightweight console UI framework for Python, designed to transform boring CLI programs into visually rich experiences.
✨ Features
- 🎨 ANSI + RGB color system
- ✨ Text styling (bold, italic, underline, etc.)
- 🧱 Decorative boxes & layouts
- 🌈 Gradient text effects
- 🎮 Flexible menu system (alias-based)
- ⚡ Smooth CLI animations
- 🎭 Theme engine (plug & play)
- 🧠 Clean modular architecture
🎯 Perfect For
- 🎮 Console games
- 🧰 CLI tools
- 🖥️ Interactive terminal apps
- 🧪 UI prototyping
📦 Installation
pip install fullui
🚀 Quick Start
from fullui import *
menu(
t="Main Menu",
op=["Play", "Exit"]
)
🧩 Recommended Import Style
from fullui.colors import C, S
from fullui.ui import menu, clear, pause
clear()
choice = menu(
t="Menu",
st="Choose an option",
op=["Start", "Exit"]
)
print(C.r + "You selected:" + S.rs, choice)
pause()
🧠 Menu Behavior (NEW)
Menus are now interactive and validated by default:
- 🔁 Loop until valid input
- 🔢 Returns selected option as
int - ❌ Handles invalid input automatically
- 🚪 Returns
"break"if exit option is used
choice = menu(
t="Game",
op=["Play", "Settings"]
)
if choice == 1:
print("Start game")
elif choice == "break":
print("Exit")
🎨 Themes (Improved)
Themes are now automatically applied — no extra work needed.
from fullui import set_theme, NEON
set_theme(NEON)
menu(
t="Styled Menu",
op=["Option 1", "Option 2"]
)
Custom Theme
from fullui import create_theme, C, set_theme
my_theme = create_theme(
titleColor=C.r,
inputColor=C.g
)
set_theme(my_theme)
🎨 Colors & Styles
from fullui import C, S
print(C.r + "Red Text" + S.rs)
print(S.bd + "Bold Text" + S.rs)
RGB
from fullui import rgb
print(rgb(255, 100, 0) + "Custom Color")
🧱 Boxes
from fullui import box1, box4
print(box1("Hello"))
print(box4("Important"))
🌈 Gradients
from fullui import rainbow, customGra, C
print(rainbow("FULLUI"))
print(customGra("Gradient", C.r, C.g, C.b))
🎬 Animations
from fullui import spinner, glitch, pulse_bar
spinner("Loading", 3)
glitch("ERROR", 10)
pulse_bar(100)
🖥️ UI System
Aliases
Short keys supported:
menu(
t="Menu", # titleText
st="Info", # subtitleText
op=["A","B"]
)
🔧 Utilities
clear() # Clear screen
pause() # Wait for Enter
🧩 Full Import
from fullui import *
Everything is exposed via __all__.
🆕 Patch Notes — v0.1.2
🔥 Improvements
-
✅ Theme system fully integrated
- Themes now apply automatically inside
menu() - No manual
apply_theme()needed
- Themes now apply automatically inside
-
✅ Menu system upgraded
- Input validation added
- Infinite loop until valid input
- Clean return values (
intor"break")
-
✅ UI alignment fix
title()now uses proper width-based centering- More consistent layout rendering
-
✅ Better UX
- Error feedback for invalid inputs
- Pause system integrated in validation loop
⚠️ Behavior Changes
-
menu()no longer returns raw input -
Now returns:
int→ valid option"break"→ exit
🧠 Internal Improvements
- Cleaner rendering flow
- Theme injection system stabilized
- Better separation of concerns
🚀 Roadmap
- ⌨️ Keyboard navigation (arrow keys)
- 🧩 Layout system (panels, grids)
- 🎮 Interactive menus (real-time)
- 🎨 JSON theme support
- 🧠 State management system
📄 License
MIT License
👨💻 Author
Leonardo Farid Porras Bendezú aka LeonardX007
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 fullui-0.1.2.tar.gz.
File metadata
- Download URL: fullui-0.1.2.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70c9a22d905d863670bbc457c3660e26a0dcd2660eaaa530f0018e071726ce48
|
|
| MD5 |
88582ac2ea7d8c9b673dee6b57fb11f3
|
|
| BLAKE2b-256 |
e42cda3064eed1a1662eaa31bc724a76107b630a4c71c2358ee814a404933c84
|
File details
Details for the file fullui-0.1.2-py3-none-any.whl.
File metadata
- Download URL: fullui-0.1.2-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59bd9684316edd45e3747caed38ab533e3836cc03f6b8e7d4bbfac2aeb656d3a
|
|
| MD5 |
aaef8d958181fc7b93b5616b2889acb8
|
|
| BLAKE2b-256 |
b66c6fc08a4e30afca2d5445ad250ad084cb6ca924a4f139935e8c793dddd310
|