I built [*WinUp*](https://github.com/mebaadwaheed/winup) — a modern GUI framework for Python that works like React or Flutter, but with native Qt widgets under the hood.
### Why I made this: Python has great libraries for data, backend, scripting… but most GUI libraries are either: - Verbose (Tkinter, PyQt) - Old-school imperative - Slow or bloated (Electron)
WinUp gives you: - Declarative UI with `@component` functions - Hot reload for real-time editing - CSS-like styling system - State binding with `State()` like React - Native rendering via PySide6
### Example: ```python import winup from winup import ui
def App(): # 1. Create a state object with an initial value. counter = winup.state.create("counter", 0)
# 2. Create the UI widgets.
label = ui.Label()
# 3. Bind the state to the label's 'text' property.
# The lambda function will re-run whenever the counter changes.
counter.bind_to(label, 'text', lambda c: f"Counter Value: {c}")
def increment():
# 4. Use the state object's methods to update the value.
counter.set(counter.get() + 1)
return ui.Column(children=[
label,
ui.Button("Increment", on_click=increment)
])
if __name__ == "__main__":
winup.run(main_component_path="file_name:App", title="New State Demo")
```