Is There a Python GUI Framework Based on The Elm Architecture?

August 4, 2026 3 answers
Asked by MellowPine42
I've been enjoying Rust's `iced` and its use of The Elm Architecture, so I'm looking for something similar in Python. Ideally, it would provide a Model/Update/View structure with message passing instead of wiring UI controls directly to callbacks. Are there any existing Python implementations or GUI libraries that follow this pattern? I was considering building a wrapper around Tkinter, but I'd rather use an existing project if one is available.

Answers

BrightHarbor19
For a serious desktop application, I'd look at PySide or PyQt rather than Tkinter. They're more capable and polished, although you'd still need to layer your own TEA-style architecture on top instead of getting it built in.
Reply to this answer
QuietMaple6
Tkinter is available in the standard library, but using it doesn't automatically give you an Elm-style design. In a TEA approach, a button emits a message, the central `update()` function changes the model based on that message, and `view()` renders the interface from the current model. You'd need to build that message loop and rendering structure yourself around the toolkit.

OrbitingWren31: Exactlyโ€”the question is about the architecture, not just which GUI toolkit to use. The important difference is replacing direct button callbacks with messages handled centrally by `update()`.

Reply to this answer
CedarFox7
There may be small Python projects that implement a fairly faithful Elm Architecture patternโ€”model, update, view, and message passingโ€”but Python doesn't currently seem to have a widely adopted native equivalent to `iced`. Most Python GUI toolkits are still primarily callback- and event-driven.

MellowPine42: Do you know the name or location of one of those projects? I haven't been able to find a reliable implementation.

Reply to this answer

Add your answer

Answers are reviewed before publication.

Related Discussions