open source · v0.1.13 on PyPI

Markdown + SQL
dashboards, in Python— designed so coding agents can write them.

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

see live examples → 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

```sql 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%
// built for agents

Agents write it. You review the diff.

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
// 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 →
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.

```sql btc_price connector=main live interval=5
SELECT ts, price FROM ticker
```
↳ live refresh runs under dashdown serve; a static export bakes a snapshot.
// faq

Questions, answered

What is Dashdown?

A free, open-source Python CLI that turns Markdown + SQL into live analytics dashboards. Write a .md file with embedded SQL and component tags, run dashdown serve ., and get a dashboard — zero frontend code.

How do coding agents write Dashdown dashboards?

Every project scaffolds an AGENTS.md and a Claude Code skill, the full manual ships as llms.txt, and the CLI is self-describing so agents can probe your data with real SQL. Dashboards are plain text files — diffable, reviewable, versioned.

Which data sources can Dashdown query?

CSV, JSON, Parquet, Excel, Google Sheets, DuckDB, MotherDuck, Postgres, MySQL, SQL Server, Snowflake, BigQuery, DAX/Fabric, Cube, and more — plus a semantic layer for metrics you define once and query everywhere.

Is Dashdown free?

Yes — Dashdown is free and open source. Install it from PyPI with uv tool install dashdown-md; the source code is on GitHub.

Your next dashboard is a
Markdown file away.

Install the CLI and scaffold a project in under a minute — or just tell your coding agent to.

★ Star on GitHub
DashdownDashdown· by DirendAI
examplesdocsgithubpypi