A UI/UX integration layer for SQLModel + FastAPI codebases.
sqlmodel-ui introspects your SQLModel classes and generates Panel-powered dashboards, forms, and data views — mounted directly on your existing FastAPI app. No frontend rewrite required.
gh repo clone quaternionmedia/sqlmodel-ui
cd sqlmodel-ui
uv sync
uv run uvicorn examples.minimal.main:app --reload# Add three lines to your existing main.py
from sqlmodel_ui import register, mount
register(Server, engine=engine) # repeat per model
mount(app) # app is your FastAPI instanceThen run:
uvicorn main:app --reloadOpen http://localhost:8000/ui/server — you have a live, sortable, paginated table.
- Zero-config table view for any SQLModel class
- Paginated JSON data API at
/api/ui/{model_name} - Panel + Bokeh powered interactive table
- Non-invasive: only adds
/ui/*and/api/ui/*routes
| Phase | Status | What |
|---|---|---|
| 1 | Done | Foundation — table view, data API |
| 2 | Planned | CRUD forms, ViewSpec, inline edit |
| 3 | Planned | Two-way sync, WebSocket, EventBus |
| 4 | Planned | Multi-model navigation, relationships |
| 5 | Planned | Charts, dashboards |
| 6 | Planned | Plugin system, BaseView contract |
| 7 | Planned | Hardening, docs, sqlmodel-ui doctor |
- examples/minimal/ — 15-line integration demo
- sqlmodel-ui-plan.md — full design document