A lightweight frameless UI framework for Python via ctypes and Win32 API
Project description
uui/cuil is a custom lightweight UI library written in Python using only ctypes. It provides direct interaction with the Windows API without heavy dependencies.
PULL REQUESTS ARE WELCOME!
installation
pip install uui-cuil
zero dependencies
Features
- Lightweight & Fast: Zero external dependencies, pure Python + ctypes.
- Frameless Window Support: Modern borderless windows while keeping native Windows 11 animations, resizing, and shadows.
- Per-pixel Scroll: Built-in smooth, pixel-perfect scrolling system.
- Customizable Render System: Uses native
gdi32out of the box, with full support for plugging in your own rendering backend (GDI+, Direct2D, etc.). - Low-level Control: Direct access to
WND_PROCsand low-level Win32 messages likeWM_MOUSEWHEELorWM_LBUTTONDOWN. - Flexible Event Binding: Powerful binding system with parsed or raw
wParam/lParamevent data exposed directly to your code.
limitations:
- only windows support
Examples:
Hello world window
import uui
root = uui.Window('Hello World') # Create window with title "Hello World"
uui.Label(root, # Parent (window or another widget)
'Hello World!', # Text
0x000, # Color like #ffffff but 0xffffff
place_type='pack' # Place type
)
root.start()
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
uui_cuil-0.1.1.tar.gz
(124.8 kB
view details)
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
uui_cuil-0.1.1-py3-none-any.whl
(127.7 kB
view details)
File details
Details for the file uui_cuil-0.1.1.tar.gz.
File metadata
- Download URL: uui_cuil-0.1.1.tar.gz
- Upload date:
- Size: 124.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8aae2ea0f01dcdd868b79bd539a1fb54bc4b6cbfd5b68f6c4fcae495a704322a
|
|
| MD5 |
15b84cbec269fba6f6f3d252010109b3
|
|
| BLAKE2b-256 |
4db5ca2e8aa5ffb185f5e42b7a2c90b6c681f3dad18008e609b9b4b211e92485
|
File details
Details for the file uui_cuil-0.1.1-py3-none-any.whl.
File metadata
- Download URL: uui_cuil-0.1.1-py3-none-any.whl
- Upload date:
- Size: 127.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e52a38f2561d11fcbd3af268bca43313018404f5b9b06b33dbf3b7ca464ad4a7
|
|
| MD5 |
261cd15f057a1e803032e639db8235ef
|
|
| BLAKE2b-256 |
8ce6628e503f2ee2d43d6ff8c59a04957eeb9c78eabdf3fd81bc5b85ac23150c
|