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
Windows backend
Autors:
- zcveo5 (i am)
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:
- now only Windows backend ready, you can write your own and send pull request!
Rules for your own backend
- use only built-in libraries
- python 3.13 and newer
- use uui.backend.abstract and Windows backend as base
- form messages to uui.backend.events messages
Examples:
Hello world window
import uui
root = uui.Window('Hello World') # Create a window with the title "Hello World"
uui.Label(root, # Parent (window or another widget)
'Hello World!', # Text
'#000000', # Color
).pack()
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.11.tar.gz
(125.0 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.11-py3-none-any.whl
(127.8 kB
view details)
File details
Details for the file uui_cuil-0.1.11.tar.gz.
File metadata
- Download URL: uui_cuil-0.1.11.tar.gz
- Upload date:
- Size: 125.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
193bdd6eb84a1c42da6aaaf9a53139df9ab830ed96050e8eac5d8c7b66bad092
|
|
| MD5 |
230dd5b88ff8ee9d1f605943b31833ce
|
|
| BLAKE2b-256 |
5bd40342de3bf8c734064088f9e4d6b9591032326c3397202db86bcfeed72d85
|
File details
Details for the file uui_cuil-0.1.11-py3-none-any.whl.
File metadata
- Download URL: uui_cuil-0.1.11-py3-none-any.whl
- Upload date:
- Size: 127.8 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 |
ce11e4c56680b86a0f8a4f83d76dd6449f32a309b5fca981be63f43da375fa3d
|
|
| MD5 |
9844d9a2e1d3f611e0869e91ccc768ae
|
|
| BLAKE2b-256 |
e5c5ce769d6fa571ce55e2a65df0ca30eba7f05cecd078828f89c3a871f5e78d
|