A reactive tkinter-based desktop UI library
Project description
clemui
A reactive tkinter-based desktop UI library for Python.
Install
pip install clemui
Usage
from clemui import App, Signal, Component, VNode, VBox
from clemui.widgets import Label, Button
class Counter(Component):
def __init__(self):
super().__init__()
self.count = Signal(0)
self.bind(self.count)
def render(self):
return VNode(VBox, spacing=10, children=[
VNode(Label, text=f"Count: {self.count.value}"),
VNode(Button, text="+", command=lambda: self.count.set(self.count.value + 1)),
])
app = App(title="My App")
app.mount(Counter())
app.run()
Features
- Signals — reactive state containers with auto-notification
- Components — class-based UI with
render()returning VNode trees - Auto-binding — Signal values auto-update widget properties
- Layout — VBox, HBox, Padding helpers
- Zero dependencies — pure Python + stdlib tkinter
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
clemui-0.1.1.tar.gz
(9.1 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
clemui-0.1.1-py3-none-any.whl
(14.4 kB
view details)
File details
Details for the file clemui-0.1.1.tar.gz.
File metadata
- Download URL: clemui-0.1.1.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8c268ae4853cafb4a24ce42f258f9569708943536a3937582debd398d77897a
|
|
| MD5 |
7e7deb3f430399e7e45577d0382e5bbb
|
|
| BLAKE2b-256 |
786977d07ab2954674351d255473bb57cad8359766c2d1d6606fc51d44e726cc
|
File details
Details for the file clemui-0.1.1-py3-none-any.whl.
File metadata
- Download URL: clemui-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46ec95d58ddc8d591dcc729d679b2eed9864d60e0fc74da9ebda13c5319f87ec
|
|
| MD5 |
ede2bb1d0db97ee5698794a102479532
|
|
| BLAKE2b-256 |
2f66c93b4f0977aec5f28d15dfa14394898f3b0023a1926fbdaf334570896ae7
|