{"version":"v1.0","client_state":{"DocsNavigation.default":{"fields":{"query":""},"persist":"memory","send_to_server":true},"ColorScheme.default":{"fields":{"mode":"system"},"persist":"local","send_to_server":true}},"endpoints":{"action":"/_bretzel/action","sse":"/_bretzel/sse","refetch":"/_bretzel/refetch"},"csrf":"37b396b2900e0a57d31c8611b3cd8ab7","page_id":"3cdb34cc825e4778bf158287263dd846","address":""}
Quickstart5 minutes

Your first Bretzel app

Create the project, run the server, then edit a page. At the end you will have completed the essential loop: describe the interface in Python and watch the browser follow.

Install the public alpha

Bretzel 0.1.0a2 is available on PyPI. Use Python 3.12, 3.13 or 3.14; the API may change between alpha releases.
python -m pip install bretzel
1

Create the project

bretzel new hello-bretzel
cd hello-bretzel
python -m venv .venv
`bretzel new` creates a minimal application in a new folder. It refuses to overwrite an existing directory.
2

Activate the environment

Windows PowerShell
.\.venv\Scripts\Activate.ps1
macOS or Linux
source .venv/bin/activate
3

Install and run

python -m pip install -e .
bretzel dev
Open `http://127.0.0.1:8000`. `bretzel dev` watches your files and restarts the application after every change.
4

Edit the page

Open `app/features/home.py`, change the heading, and save. The browser reloads the application.
ui.heading("My first Bretzel", level=1, size="4xl")

What the generator created

hello-bretzel/
├── app/
│   ├── main.py              # configures the application
│   └── features/
│       └── home.py          # your first page
├── pyproject.toml
└── README.md