Dashdown Dashdown
docs GitHub
open source · v0.1.6 on PyPI

Markdown in.
Dashboard out.

Embed SQL and component tags in .md files. Point the CLI at the folder. Get a live analytics dashboard — zero frontend code.

read the docs →
127.0.0.1:8000
a live dashboard, rendered from plain Markdown files
// get started

Running in under a minute

zsh — my-dashboard
 uv tool install dashdown-md
installed dashdown → ~/.local/bin
dashdown new my-dashboard
✓ scaffolded pages/ queries/ sources.yaml AGENTS.md
dashdown serve .
◐ building… ✓ ready in 240ms
➜ local: http://127.0.0.1:8000
pages/revenue.md
# Revenue

:::query name=rev
SELECT month, SUM(amount) revenue
FROM orders GROUP BY month
:::

<Counter data={rev} value="revenue"/>
<LineChart data={rev} y="revenue"/>
Revenue live
Total revenue
$1.28M ▲ 12.4%
// how it works

Three files. One command.

01

Write a page

A .md file with SQL + tags in pages/.

02

Point at data

Declare connectors in sources.yaml.

03

Serve it

dashdown serve . — live reload + export.

// connectors

Query the data you already have

One SQL surface across files, databases & warehouses.

CSV JSON Parquet Excel Google Sheets DuckDB MotherDuck Postgres MySQL SQL Server Snowflake BigQuery DAX / Fabric Cube and more +

Plus a semantic layer — define metrics once with BSL (Boring Semantic Layer) or Cube, then query them everywhere.

// components

A widget for every question

25+ charts, tables & filter controls — each one tag.

BarChart
LineChart
PieChart
48.2k ▲ 8.1% MoM
Counter
Heatmap
Table
AreaChart
Pivot · Funnel
Map · Sankey · Gauge
25+ more →
// built for agents

Authored with a coding agent

Every project scaffolds a tool-agnostic AGENTS.md + Claude Code skill. The CLI exposes its own catalog so agents check facts; the manual ships as llms.txt.

<Ask/> — an LLM reads the query result and writes a plain-English summary — trends, outliers, takeaways — beside the chart
Self-describing CLI — probe with real SQL
Plain text — diffable, reviewable, versioned
// project scaffold
my-dashboard/
├─ AGENTS.md          # agent guide
├─ .claude/skills/     # Claude skill
├─ llms.txt           # full manual
├─ pages/*.md
├─ queries/*.sql
└─ sources.yaml
Requests / sec streaming
// real-time

Queries that repaint as data moves

Mark a query live and Dashdown re-runs it on an interval, streaming fresh rows into the widget. Same Markdown — now it breathes.

:::query name=btc_price connector=main live interval=5
SELECT ts, price FROM ticker
:::
↳ live refresh runs under dashdown serve; a static export bakes a snapshot.

Your next dashboard is a
Markdown file away.

Install the CLI and scaffold a project in under a minute.

★ Star on GitHub
DashdownDashdown· by DirendAI
docsgithubpypi