Labels, inputs, validation messages, and actions render as normal HTML.
HTML UI for Python apps
Build forms, navigation, docs, and app shells from Python templates that render plain HTML.
- Server-rendered HTML
- Optional htmx and Alpine
Example interface
Common app screens, ready to render.
Use ready-made UI for common screens, then customize the rendered HTML and CSS for your app.
Forms, cards, nav, overlays, and shell UI.
Compose with components, not class strings.
Add htmx or Alpine only where interaction needs it.
What you can build
Reusable UI for pages and product screens.
Chirp UI gives Python projects a practical starting point for the interfaces teams build repeatedly.
How it fits
Render HTML first. Add behavior where it helps.
Use components where you already render HTML
Chirp UI fits static sites, docs, and Python web apps that return HTML first. Add interaction only where the screen needs it.
Page kit
- Hero and section headers
- Feature and resource cards
- Metrics and calls to action
Keep common product screens consistent
Forms, navigation, overlays, and app-shell layouts use the same component library, so docs and product screens do not drift apart.
App kit
- Forms and validation
- Sidebar and page map
- Command palette
Why it works
The UI stays inspectable from Python.
Python teams
Pages and application screens can share the same component library.
Use Chirp UI for cards, forms, navigation, surfaces, grids, and actions instead of rebuilding each screen by hand.
Maintainers
Components are easier to audit because the Python API, templates, CSS, and docs are kept in sync.
Generated references and tests help keep the shipped UI surface documented instead of hidden in one-off markup.
Ecosystem
Part of a Python-first HTML stack.
Next steps
Pick the path that matches your work.
Start
Start with a working component, then adapt it.
Install Chirp UI, render a component from Python, and layer in htmx or Alpine only when a screen needs client-side behavior.