Show HN: A Beautiful Python GUI Framework

(github.com)

6 points | by ebaadesque 12 hours ago ago

1 comments

  • ebaadesque 12 hours 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