A lightweight static HTML dashboard generator with Plotly and pandas support.
Project description
staticdash
staticdash is a lightweight Python module for creating static, multi-page HTML dashboards. It supports:
- Plotly plots: Interactive, responsive visualizations
- Matplotlib figures: Static plots and charts
- Pandas DataFrames: Sortable, searchable tables
- Rich text formatting: Full Markdown support including bold, italic,
strikethrough, lists, links, tables, and blockquotes - Math expressions: LaTeX math rendering with MathJax (inline
$...$and display$$...$$) - Mermaid diagrams: Flowcharts, sequence diagrams, state diagrams, and more
- File downloads: Add download buttons for any file
- Multi-page navigation: Hierarchical sidebar with subpages
- Custom styling: Easily customize CSS and JavaScript
- Air-gapped support: All assets vendored for offline environments
Installation
pip install staticdash
Features
Content Types
- Add Plotly figures:
page.add(fig)- Interactive plots with zoom, pan, hover tooltips - Add Matplotlib figures:
page.add(fig)- Static plots converted to PNG - Add tables:
page.add(df)- Pandas DataFrames rendered as sortable, searchable tables - Add text:
page.add("Your text")- Full Markdown support including:- Bold, italic,
strikethrough - Lists (ordered and unordered)
- Links, blockquotes, code blocks
- Tables in Markdown syntax
- Bold, italic,
- Add headers:
page.add_header("Title", level=2)- Markdown headers (h1-h6) - Add math: Use
$inline math$or$$display math$$for LaTeX expressions - Add diagrams: Use
```mermaidcode blocks for flowcharts, sequence diagrams, state diagrams, gantt charts - Add downloads:
page.add_download("path/to/file", "Label")- File download buttons
Layout & Styling
- Sidebar navigation: Fixed sidebar with hierarchical pages and subpages
- Responsive design: Works on desktop and mobile devices
- Custom styling: Edit
assets/css/style.cssfor your own look - Per-page HTML: Individual HTML files for each page plus combined dashboard
Air-Gapped Support
All external dependencies (Plotly, MathJax, Mermaid, Prism) are vendored during installation, ensuring dashboards work completely offline without internet access or CDN dependencies.
Live Demos
- Tutorial Dashboard - Comprehensive feature demonstration
- Directory Example - Multiple dashboard aggregation
Examples
The repository includes a comprehensive tutorial demonstrating all features:
Tutorial Dashboard: Run python tutorial.py to generate tutorial_output/index.html
The tutorial demonstrates:
- Basic page creation and navigation
- Text formatting with Markdown (bold, italic, strikethrough, lists, links, tables)
- Plotly and Matplotlib figures
- Pandas DataFrame tables
- Subpages and hierarchical navigation
- MathJax math expressions (inline and display)
- Mermaid diagrams (flowcharts, sequence diagrams, state diagrams)
- Directory class for aggregating multiple dashboards
For the source code, see tutorial.py in this repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file staticdash-2026.7.tar.gz.
File metadata
- Download URL: staticdash-2026.7.tar.gz
- Upload date:
- Size: 2.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1b2f71af01e41da604ba92b5e93571255fc2e3dbdcf1866ae9b6af91b1ac33d
|
|
| MD5 |
3511e7028c578aa17581efc841722c94
|
|
| BLAKE2b-256 |
9fa6b4c6713e6c375fa2a680c0f5566efe52aabad86ecb5e3a0ffcb84fb6d004
|
File details
Details for the file staticdash-2026.7-py3-none-any.whl.
File metadata
- Download URL: staticdash-2026.7-py3-none-any.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddc860412fc4aadc09e64efcd7639f6ba5535e3d3deb0d236d88c17e6fea30a0
|
|
| MD5 |
bdd1fcea566554306206070baba1c097
|
|
| BLAKE2b-256 |
402c8ad8f84a957d8359c286a0ef9cf5616b8c03a41032dd794506c3ec9c43ef
|