← Back to all products
$29
Dashboard Builder
HTML dashboard template generator with widgets, SVG charts, data tables, and filters.
PythonMarkdown
📄 Product Preview
Try the interactive reader and demo tools below, or get the full product with all content unlocked.
📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample📁 File Structure 10 files
dashboard-builder/
├── LICENSE
├── README.md
├── examples/
│ └── basic_example.py
├── free-sample.zip
├── guide/
│ ├── 01_features.md
│ ├── 02_quick-start.md
│ ├── 03_widget-types.md
│ └── 04_license.md
├── index.html
└── src/
└── main.py
📖 Documentation Preview README excerpt
Dashboard Builder
A Python dashboard template generator that creates self-contained HTML dashboards with widgets, SVG charts, data tables, filters, and CSV/JSON export. No JavaScript libraries, no external dependencies — just Python's standard library.
Features
- Metric cards — KPI widgets with values, change indicators, and icons
- SVG charts — Bar, line, and pie/donut charts rendered as inline SVG (no Chart.js needed)
- Data tables — Sortable columns with currency/percent/date formatting
- CSV/JSON export — One-click data export from any table
- Filters — Select dropdowns, date ranges, and search inputs
- Dark theme — Professional dark UI with configurable brand color
- Self-contained — Single HTML file output, works offline
- JSON config — Define dashboards as JSON, generate HTML
Requirements
- Python 3.10+
- No external dependencies (stdlib only)
Quick Start
# Generate a demo SaaS metrics dashboard
python src/main.py --demo
# Generate from a JSON config
python src/main.py --json examples/config.json
# Specify output directory
python src/main.py --demo --output ./my-dashboards
Then open the generated HTML file in your browser.
Programmatic Usage
from main import DashboardConfig, MetricCard, ChartData, DataTable, DashboardGenerator
config = DashboardConfig(
title="My Dashboard",
metrics=[
MetricCard(title="Revenue", value="$12,345", change=8.5, icon="$"),
],
charts=[
ChartData(
title="Monthly Revenue",
chart_type="bar",
labels=["Jan", "Feb", "Mar"],
datasets=[{"label": "MRR", "values": [10000, 11500, 12345], "color": "#4F46E5"}],
),
],
)
generator = DashboardGenerator(config)
path = generator.save()
Widget Types
... continues with setup instructions, usage examples, and more.
📄 Code Sample .py preview
examples/basic_example.py#!/usr/bin/env python3
"""
Dashboard Builder — Basic Usage Example
=========================================
Demonstrates building a custom SaaS metrics dashboard programmatically.
Run: python3 basic_example.py
"""
from __future__ import annotations
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent / "src"))
from main import (
DashboardConfig, MetricCard, ChartData, DataTable, TableColumn,
FilterOption, DashboardGenerator,
)
def main() -> None:
print("=== Dashboard Builder — Basic Example ===\n")
# --- Build a custom dashboard ---
config = DashboardConfig(
title="Startup KPI Dashboard",
subtitle="Example Inc — Weekly Overview",
brand_color="#10B981",
logo_text="Example Inc",
filters=[
FilterOption(id="period", label="Time Period", filter_type="select",
options=["This week", "Last 7 days", "Last 30 days"],
default="Last 7 days"),
],
metrics=[
MetricCard(title="Weekly Revenue", value="$8,450", change=15.2,
change_label="vs last week", icon="$"),