Skip to main content

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
  • Menu system upgraded

    • Input validation added
    • Infinite loop until valid input
    • Clean return values (int or "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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fullui-0.1.2.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fullui-0.1.2-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

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

Hashes for fullui-0.1.2.tar.gz
Algorithm Hash digest
SHA256 70c9a22d905d863670bbc457c3660e26a0dcd2660eaaa530f0018e071726ce48
MD5 88582ac2ea7d8c9b673dee6b57fb11f3
BLAKE2b-256 e42cda3064eed1a1662eaa31bc724a76107b630a4c71c2358ee814a404933c84

See more details on using hashes here.

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

Hashes for fullui-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 59bd9684316edd45e3747caed38ab533e3836cc03f6b8e7d4bbfac2aeb656d3a
MD5 aaef8d958181fc7b93b5616b2889acb8
BLAKE2b-256 b66c6fc08a4e30afca2d5445ad250ad084cb6ca924a4f139935e8c793dddd310

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page