Skip to main content

Generate beautiful HTML dashboards from CSV/Excel files

Project description

csvglow

Generate beautiful, interactive HTML dashboards from CSV/Excel files. One command, zero config.

csvglow sales.csv

Opens a self-contained HTML dashboard in your browser with auto-detected charts, correlations, statistics, and a sortable data table. Dark gradient theme. Copy any chart to your clipboard for slide decks.

Install

pip install csvglow

Or via npx (no install needed):

npx csvglow data.csv

Usage

csvglow data.csv                    # CSV → dashboard, opens in browser
csvglow report.xlsx                 # Excel works too
csvglow data.csv -o dashboard.html  # Custom output path
csvglow data.csv --no-open          # Don't auto-open browser

What it generates

  • Smart insights — multi-column narrative analysis (e.g. "Gadget Y has the highest discount yet lowest revenue — consider discontinuing")
  • Summary stats — row count, column count, data types, missing values
  • Histograms — for every numeric column, with mean/median/std/quartiles sidebar
  • Bar charts — top values for categorical columns
  • Cross analysis — automatic categorical × numeric crosstabs with overall mean lines
  • Time series — line charts with area fill for date columns
  • Correlation heatmap — auto-detected correlations between numeric columns
  • Scatter plots — auto-generated for highly correlated pairs (|r| > 0.7)
  • Outlier detection — IQR-based, highlighted per column
  • Data table — sortable, filterable preview (first 1000 rows)
  • Copy button — each chart has a one-click copy for pasting into slides

Output is a single self-contained HTML file. No server, no CDN, works offline.

MCP Server

csvglow works as an MCP tool in Claude Desktop, Cursor, Claude Code, Windsurf, or any MCP-compatible client.

Quick setup (pick one)

Option A — npx (easiest, no Python setup needed):

{
  "mcpServers": {
    "csvglow": {
      "command": "npx",
      "args": ["-y", "csvglow", "--mcp"]
    }
  }
}

Option B — pip install:

pip install csvglow
{
  "mcpServers": {
    "csvglow": {
      "command": "csvglow",
      "args": ["--mcp"]
    }
  }
}

Option C — Claude Code CLI:

claude mcp add csvglow -- csvglow --mcp

Where to put the config

Client Config file
Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
Cursor .cursor/mcp.json in your project or ~/.cursor/mcp.json globally
Claude Code ~/.claude/settings.json or run claude mcp add
Windsurf ~/.windsurf/mcp.json

What the MCP tool does

Exposes a single generate_dashboard tool that takes a file path and returns a full HTML dashboard. Your AI assistant can call it like:

"Generate a dashboard from /path/to/sales.csv"

Supported formats

  • .csv / .tsv (auto-detected delimiter)
  • .xls
  • .xlsx (first sheet only — multi-sheet support coming soon)

Roadmap

  • Multi-sheet Excel support — analyze all sheets in a workbook, with per-tab sections or auto-merge when columns match
  • Multi-file support — csvglow sales.csv marketing.csv --join date to correlate data across multiple files with auto-detected or explicit join keys
  • Light theme
  • Custom color palettes
  • PDF export

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csvglow-0.1.0.tar.gz (360.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

csvglow-0.1.0-py3-none-any.whl (362.5 kB view details)

Uploaded Python 3

File details

Details for the file csvglow-0.1.0.tar.gz.

File metadata

  • Download URL: csvglow-0.1.0.tar.gz
  • Upload date:
  • Size: 360.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for csvglow-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2c1d7a5d9e998ed60c64309f543f9f44545e772849cd38b94e76839e896437c0
MD5 b66e5e7f7901e6a61d61c2aa34b7997a
BLAKE2b-256 ca582a728b6c506c954cdf1aef173cbec946a7319830e938a586cb61199e51d2

See more details on using hashes here.

File details

Details for the file csvglow-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: csvglow-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 362.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for csvglow-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d82d303406fe37cf52a53620bddbd34fc0e8d589f471dc45c70bc360fcaa037
MD5 67a2e2cf03131578d46dfd0ff82cfe3c
BLAKE2b-256 8c99cb2a3290195cf91285e89a0813ff1f216833c4f8256c34d56f6cb51f4500

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page