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 dateto correlate data across multiple files with auto-detected or explicit join keys - Light theme
- Custom color palettes
- PDF export
License
MIT
Metadata
Release files for csvglow 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| csvglow-0.1.0.tar.gz | 360.5 kB | Without provenance | Details for csvglow-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| csvglow-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for csvglow-0.1.0-py3-none-any.whl |
Total release size: 723.0 kB
Release files / csvglow-0.1.0.tar.gz
| Download URL | csvglow-0.1.0.tar.gz |
|---|---|
| Size | 360.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2c1d7a5d9e998ed60c64309f543f9f44545e772849cd38b94e76839e896437c0
|
|
BLAKE2b-256 checksum How to use checksums |
ca582a728b6c506c954cdf1aef173cbec946a7319830e938a586cb61199e51d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / csvglow-0.1.0-py3-none-any.whl
| Download URL | csvglow-0.1.0-py3-none-any.whl |
|---|---|
| Size | 362.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8d82d303406fe37cf52a53620bddbd34fc0e8d589f471dc45c70bc360fcaa037
|
|
BLAKE2b-256 checksum How to use checksums |
8c99cb2a3290195cf91285e89a0813ff1f216833c4f8256c34d56f6cb51f4500
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Security for csvglow 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.