← Back to all products

Dashboard Generator

$29

Generate interactive HTML dashboards from JSON/CSV data with charts, tables, and KPI cards.

📁 11 files
JSONMarkdownPython

📄 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 11 files

dashboard-generator/ ├── LICENSE ├── README.md ├── examples/ │ ├── dashboard_config.json │ └── sample_sales.csv ├── free-sample.zip ├── guide/ │ ├── 01_features.md │ ├── 02_quick-start.md │ ├── 03_configuration-reference.md │ └── 04_license.md ├── index.html └── src/ └── dashboard_generator.py

📖 Documentation Preview README excerpt

Dashboard Generator

Generate interactive HTML dashboards from JSON/CSV data with charts, tables, and KPI cards. Auto-detects chart types from your data, or use a config file for full control.

Features

  • Auto-detection — Feed it any JSON/CSV and it builds a sensible dashboard automatically
  • SVG charts — Bar, line, and pie charts rendered as inline SVG (no JS dependencies)
  • KPI cards — Highlight key metrics with trend indicators (up/down/flat)
  • Data tables — Sortable, responsive tables for raw data inspection
  • Multi-series line charts — Compare multiple metrics on one timeline
  • Config file support — Full control over layout via JSON config
  • Self-contained HTML — Single file output with embedded CSS, works offline
  • Responsive layout — Looks good on desktop, tablet, and mobile
  • Dark theme — Developer-friendly dark UI out of the box

Requirements

  • Python 3.10+
  • No external dependencies (stdlib only)

Quick Start


# Auto-generate dashboard from CSV data
python src/dashboard_generator.py --data examples/sample_sales.csv --title "Sales Dashboard"

# Auto-generate from JSON
python src/dashboard_generator.py --data examples/sample_metrics.json

# Use a config file for full control
python src/dashboard_generator.py --config examples/dashboard_config.json

# Custom output path and branding
python src/dashboard_generator.py --data data.csv --output report.html --color "#FF3366"

Output

Opens as a self-contained HTML file in any browser. Includes:

  • KPI cards with trend arrows showing period-over-period change
  • SVG bar charts for categorical comparisons
  • SVG line charts for time-series trends (multi-series supported)
  • Data tables for detailed inspection

Configuration Reference

For full control, create a JSON config:


{
    "title": "Monthly Report",
    "subtitle": "Q1 2026 Performance",
    "brand_color": "#00E5FF",
    "kpis": [
        {"label": "Revenue", "value": "$42.5K", "change": 12.3},
        {"label": "Users", "value": "1,847", "change": -3.1},
        {"label": "Churn", "value": "2.1%", "change": -0.5}
    ],

*... continues with setup instructions, usage examples, and more.*

📄 Code Sample .py preview

src/dashboard_generator.py #!/usr/bin/env python3 """ Dashboard Generator — Analytics Hub (DataNest) Generates interactive HTML dashboards from JSON/CSV data with charts, tables, KPI cards, and responsive layout. Zero dependencies — stdlib only. Usage: python dashboard_generator.py --data sales.json --title "Sales Dashboard" python dashboard_generator.py --data metrics.csv --output dashboard.html python dashboard_generator.py --config dashboard_config.json Dependencies: Python 3.10+ stdlib only (no pip packages) License: MIT """ from __future__ import annotations import argparse import csv import html import json import logging import math import sys from dataclasses import dataclass, field from datetime import datetime, timezone from pathlib import Path from typing import Any # --------------------------------------------------------------------------- # Constants # --------------------------------------------------------------------------- DEFAULT_TITLE = "Dashboard" DEFAULT_BRAND_COLOR = "#00E5FF" MAX_TABLE_ROWS = 100 # Prevent enormous tables from crashing browsers # Chart dimensions (SVG viewbox units) CHART_WIDTH = 600 CHART_HEIGHT = 300 CHART_PADDING = 60 logger = logging.getLogger("dashboard_generator") # --------------------------------------------------------------------------- # Data models # --------------------------------------------------------------------------- @dataclass # ... 649 more lines ...
Buy Now — $29 Back to Products