Skip to main content

A lightweight static HTML dashboard generator with Plotly and pandas support.

Project description

staticdash

staticdash logo

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
  • 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 ```mermaid code 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.css for 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

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


Download files

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

Source Distribution

staticdash-2026.7.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

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

staticdash-2026.7-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

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

Hashes for staticdash-2026.7.tar.gz
Algorithm Hash digest
SHA256 b1b2f71af01e41da604ba92b5e93571255fc2e3dbdcf1866ae9b6af91b1ac33d
MD5 3511e7028c578aa17581efc841722c94
BLAKE2b-256 9fa6b4c6713e6c375fa2a680c0f5566efe52aabad86ecb5e3a0ffcb84fb6d004

See more details on using hashes here.

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

Hashes for staticdash-2026.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ddc860412fc4aadc09e64efcd7639f6ba5535e3d3deb0d236d88c17e6fea30a0
MD5 bdd1fcea566554306206070baba1c097
BLAKE2b-256 402c8ad8f84a957d8359c286a0ef9cf5616b8c03a41032dd794506c3ec9c43ef

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