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.2.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.2-py3-none-any.whl
(14.4 kB
view details)
File details
Details for the file clemui-0.1.2.tar.gz.
File metadata
- Download URL: clemui-0.1.2.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 |
bf26df9638904777320c4135f0c8c799455557529802c5fde146f0b70789907a
|
|
| MD5 |
fa11268049c2adb7032d0bce1c02682d
|
|
| BLAKE2b-256 |
2a13a1d619889eb8f17063124a173d78821e1d4711403ecbc4e5b55463dc6b9a
|
File details
Details for the file clemui-0.1.2-py3-none-any.whl.
File metadata
- Download URL: clemui-0.1.2-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 |
75a81188153199c725a68b210d9a3463f15e796883fa944e8e4744f37c5ead70
|
|
| MD5 |
61af0c81e09adc55005eabd89bc97c3b
|
|
| BLAKE2b-256 |
2f0d88fea9eccd11ac603a3519b736a19818dab280e2babba11f33d4995c2365
|