- Python DSL pages registered with
@app.page(...) - React pages registered with
app.add_page(...)
Python DSL pages
DSL pages are the fastest way to build dashboards and operational views from Python. Common widgets include:PageRowandColumnCardMetricTableChartTextandDivider- settings widgets like
Toggle,TextInput,NumberInput, andSelect TaskBoard
React pages
React pages are better when you need:- custom interactions
- richer layouts
- client-side state
- third-party frontend libraries
- bespoke visual design
useData, useCollection, useTheme, and useCapsule.
Shared data model
Both page types can use the same app-layer primitives:- collections
- data handlers
- settings
- theme values
Access control
Pages can be:publicauthenticated
access="authenticated" for dashboards or user-specific views and access="public" for landing or read-only pages.
A naming pitfall
There are two differentColumn types in Capsule:
cpsl.Columnfor collection schemacpsl.ui.Columnfor page layout