staticdash is a lightweight Python module for creating static, multi-page HTML dashboards. It supports:
- Plotly plots (interactive, responsive)
- Pandas DataFrames as sortable tables
- Text and headers (Markdown-like)
- File download buttons
- Multi-page navigation with sidebar
- Custom CSS and JavaScript
- Easy extension for new content types
pip install staticdash
-
Add Plotly figures:
page.add(fig)
-
Add tables:
page.add(df)
(sortable by default) -
Add text or headers:
page.add("Some text")
,page.add_header("Title", level=2)
-
Add download buttons:
page.add_download("path/to/file", "Label")
-
Multi-page: Create multiple
Page
objects and add them to yourDashboard
-
Custom styling: Edit
assets/css/style.css
for your own look
- Sidebar navigation: Fixed, with active highlighting
- Responsive layout: Works on desktop and mobile
- Export: Outputs a static HTML dashboard (no server needed)
- Per-page HTML: Also generates individual HTML files for each page
View the latest demo dashboard
For a full example, see demo.py
in this repository.