Published: 2021-01-18

The initial alpha release of my new project called re-wx is now available!

re-wx is a library for building modern declarative desktop applications in Python. It takes the API ideas from from React and layers them on top of WXPython. So, you get all the strengths of React's modern declarative API paired with WX's ability to render cross-platform, native Desktop applications.

If you've ever done any GUI programming in Tkinter, PyQt/PySide, or WxPython, then re-wx should feel like a breath of fresh air. No more trying to express layouts through awkward low level A.getSizer().addChild(B) semantics, no more tight coupling of your business state to the internal states of your chosen UI kit, re-wx let's you write clear, declarative, testable applications rendered natively on your user's platform.

def my_component(props):
    return wsx(
      [Block, {'orient': wx.HORIZONTAL},
        [TextCtrl, {'value': props['value'], 'on_change': props['handle_change']}],
        [Button, {'label': 'Submit', 'on_click': props['handle_submit']}]]

Learn more on the project page!