← 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
src/main.py
#!/usr/bin/env python3
"""
Dashboard Builder — Dynamic Dashboard Template Generator
==========================================================
A complete dashboard builder that generates interactive HTML dashboards
from Python data structures. Supports widgets, charts (SVG), data tables,
filters, and CSV/JSON export — all without external dependencies.
Feed it your data, pick your layout, and get a self-contained HTML dashboard.
Zero dependencies. Just run: python3 main.py
Part of the SaaS Starter collection by DataNest.
License: MIT
"""
from __future__ import annotations
import argparse
import csv
import html
import io
import json
import logging
import math
import os
import time
import uuid
from dataclasses import asdict, dataclass, field
from datetime import datetime, timezone, timedelta
from pathlib import Path
from typing import Any, Callable, Optional
# ---------------------------------------------------------------------------
# Configuration
# ---------------------------------------------------------------------------
DEFAULT_OUTPUT = Path("./dashboard_output")
BRAND_COLOR = "#4F46E5" # Indigo — override per dashboard
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(name)s — %(message)s",
datefmt="%Y-%m-%dT%H:%M:%S",
)
logger = logging.getLogger("dashboard-builder")
# ---------------------------------------------------------------------------
# ... 584 more lines ...