guile
v0.6.0 · MIT · Python ≥ 3.9
guile

Python desktop apps, top to bottom.

A lightweight framework for the kind of internal dashboards, data explorers, and parameter tools you need at work or at home. Write Python, get a desktop window — no full-page re-execution on refresh, no nesting hell, no server.

$ pip install guile COPY COPIED

The right tool for a simple lab or personal project — and deliberately nothing more.

— Quick start

A converter, end to end.

This is the entire app. A plain Python function does the maths; gui.state holds the input; the slider updates it and the reading recomputes on every change. The layout is built using with: blocks.

converter.py
import guile as gui

def to_celsius(f):
    return round((f - 32) * 5 / 9, 1)

fahrenheit = gui.state(32.0)

@gui.app("Converter", width=360, height=300, center=True)
def ui():
    with gui.card(gap=16):
        gui.title("Temperature converter")
        gui.slider("°F", value=fahrenheit,
                   on_change=fahrenheit.set, min=0, max=212)
        gui.text(f"{to_celsius(fahrenheit.value)} °C",
                 size="2xl", bold=True)
Converter — preview
desktop window
Temperature converter
0 °C
drag the slider
ships with 4 built-in themes CSS grid layouts 25+ widgets see the reference