Show HN: A Beautiful Python GUI Framework

6 ebaadesque 1 6/27/2025, 6:03:12 PM github.com ↗

Comments (1)

ebaadesque · 4h ago
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

def App(): counter = winup.state.create("counter", 0) label = ui.Label() counter.bind_to(label, 'text', lambda c: f"Counter Value: {c}")

    def increment():
        counter.set(counter.get() + 1)

    return ui.Column(children=[
        label,
        ui.Button("Increment", on_click=increment)
    ])
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