PyUIkit is a modern, web-like, component-based Python GUI framework built on top of CustomTkinter. It aims to bring simplicity and web-like component structure to Python GUI development, allowing developers to create windows, divs, and components without dealing with complex layout management. It allows you to create beautiful and interactive desktop applications with minimal code, using Div-based layouts and reusable UI components.
- Create nested layouts with
Divcontainers. - Use Text, Input, Button components and more.
- Interactive components with event handling.
- Component IDs for dynamic updates.
- Easy to use for both beginners and experienced developers.
- Supports modern styling and dark/light themes (future updates).
pip install pyuikit- Create a simple window
from pyuikit import Body
app = Body(width=400, height=300, bg_color='white')
app.run()This creates a blank window with the specified size and background color.
- Add components inside a Div
from pyuikit import Body, Div
from pyuikit.components import Text, Button, Input
def greet():
name = Input.get_input(id='name_input')
Text.set_text(id='greeting', new_text=f'Hello, {name}!')
app = Body(width=400, height=300, bg_color='white')
Div(
width=360,
height=250,
children=[
Text(text='Enter your name:'),
Input(placeholder='Name',id='name_input'),
Button(text='Greet',on_click=greet),
Text(text='', id='greeting')
]
)
app.run()Note: Every app must have at least one top-level Div to hold components.
Full documentation and examples:
Other components:
- Button component
- Text component
- Input component
- Filedialog component
- Slider component
- Radiobutton component
- Progressbar component
- Dropdown component
- Switch component
- Checkbox component
- Toast component
Example Applications:
Note: PyUIkit is now in a stable release, but issues may still occur. We welcome and appreciate contributions! Feel free to submit PRs or report any problems via the GitHub Issues tab.

