Dashboards are Lit web components that query your local shenas database via Arrow IPC and render charts, tables, timelines — anything visual. They ship as a standard Python wheel, just like source plugins.
shenas.dashboards entry point. shenas loads it into the UI shell. uv build; install with shenasctl source add --local.
Create a Lit custom element that extends LitElement.
The component's connectedCallback fires an Arrow IPC
query to fetch data from the local shenas database.
In pyproject.toml, add a
shenas.dashboards entry point pointing at a Python
class that returns the component name, title, and bundled JS path.
Bundle the Lit component with esbuild or Vite, then include the
bundle in the Python package's data files. Build the wheel with
uv build.
Install the dashboard wheel with
shenasctl source add --local ./dist/<wheel>.
The dashboard appears in the UI on the next page load.
Working dashboard examples are in
shenas-org/shenas
under plugins/dashboards/.