GitHub Repo: WinUp
What My Project Does
WinUp is a modern, component-based GUI framework for Python built on PySide6 with:
A real reactive state system (state.create, bind_to)
Live Hot Reload (LHR) – instantly updates your UI as you save
Built-in theming (light/dark/custom)
Native-feeling UI components
Built-in animation support
Optional PySide6/Qt integration for low-level access
No QML, no XML, no subclassing Qt widgets — just clean Python code.
Target Audience
Python developers building desktop tools or internal apps
Indie hackers, tinkerers, and beginners
Anyone tired of Tkinter’s ancient look or Qt's verbosity
Example: State Binding with Events
import winup
from winup import ui
if __name__ == "__main__":
winup.run(main_component_path="new_state_demo:App", title="New State Demo")
Install
pip install winup
Built-in Features
Reactive state system with binding
Live Hot Reload (LHR)
Theming engine
Declarative UI
Basic animation support
PySide/Qt integration fallback
Contribute or Star
The project is active and open-source. Feedback, issues, feature requests and PRs are welcome.
GitHub: WinUp
Example: State Binding with Events import winup from winup import ui
def App(): counter = winup.state.create("counter", 0) label = ui.Label() counter.bind_to(label, 'text', lambda c: f"Counter Value: {c}")
if __name__ == "__main__": winup.run(main_component_path="new_state_demo:App", title="New State Demo")Install pip install winup
Built-in Features Reactive state system with binding Live Hot Reload (LHR) Theming engine Declarative UI Basic animation support PySide/Qt integration fallback
Contribute or Star The project is active and open-source. Feedback, issues, feature requests and PRs are welcome. GitHub: WinUp