WreathBrowse
Home

Wreath 0.5.0 · Python 3.14 · ASGI

Build the systems that become somebody's operating surface.

Realtime rooms, durable work, PostgreSQL, policy and a native server belong to one application—not a week of integration before the interesting work begins.

realtime under contentiondurable workgoverned AIhard tenant boundaries

Meet the nine systemsStart with one route

01

Build the app they said was missing

Start with users and hard security boundaries, then inspect how much of the serious request path stays native.

02

Balance a live energy depot

Coordinate microgrids, vehicles and chargers without overcommitting the power that remains.

03

Turn computers into an agent fleet

Assign long-running work across every device a person owns and survive a device disappearing.

04

Let customers wire the world together

Turn signed events, schedules and user hooks into durable, inspectable automation runs.

05

Give an agent tools—safely

Put a governed MCP boundary around real operations instead of building a second, weaker backend.

06

Land the enterprise

Carry a tenant from SAML and SCIM provisioning through isolation, support and deprovisioning.

07

Ask better questions of time

Analyse irregular series honestly across missing samples, late arrivals and daylight-saving boundaries.

08

Survive the noon drop

Keep scarce inventory coherent through flash traffic, retries and webhook redelivery.

09

Assume the network will fail

Resume field sync and large uploads without exposing data outside the operator's assignment.

One system. One obvious home.#

A production service needs a router. It also needs validation, identity, data access, background work, observability and somewhere to run. Wreath owns those parts and keeps the framework usable on any conforming ASGI server.

app.pypython
from wreath import Request, Wreath

app = Wreath()


@app.get("/hello/{name}")
async def hello(request: Request, name: str) -> dict:
    return {"hello": name}
uv add wreath
uv run wreath dev app:app

The first route is deliberately ordinary. The interesting part begins when the requirements stop being ordinary: only one worker may own a device; a job must survive a process; an enterprise identity provider removes a person; a model may read freely but must involve a human before it deletes.

This site documents Wreath 0.5.0. Check the version, platform and upgrade contract before choosing an extra or moving an existing application between releases.

The contract is the product#

Each story starts with a visible system, introduces contention or failure, and then names the invariant that must continue to hold. That is the recurring Wreath idea: express the boundary early, refuse half-supported shapes, and leave enough evidence to explain the outcome afterward.

Choose a story or build the first application.

esc
↑↓ navigate↵ openesc close