Datastar 1.0
Stario is here because of Datastar: I wanted a Python framework built to pair with it—hypermedia that stays honest about the server, signals and patches without turning the page into a second app runtime, and a small vocabulary that still carries real apps. I’m grateful the team built it and kept pushing. Their 1.0 release is a milestone worth celebrating; all the best for what comes next.
Stario 3.1 matches that line: bundled client, stario.datastar helpers, read_signals—same wire format and defaults, no fuss. Changelog, Datastar reference if you want the particulars.
Relay — now accepts multiple subscription patterns
When patterns overlap, deliveries are deduped so each publish still lands once.
from stario import Relay relay = Relay[str]() async with relay.subscribe("chat.*", "alerts.*") as sub: relay.publish("alerts.cpu", "high") # one listener, two pattern trees async for subject, payload in sub: ...If you’re building with this stuff too: thank you for being here. I hope it treats you well.
— Adam