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.9.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.9-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file staticdash-2026.9.tar.gz.

File metadata

  • Download URL: staticdash-2026.9.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.9.tar.gz
Algorithm Hash digest
SHA256 c3b49d31919c13b67bd1ecd2d3b4b26c7d71cda4611e10b0031a11803d129583
MD5 f5da7f2bf97a9d100f1be62c0372c636
BLAKE2b-256 49d781b000e720be88eae921a1c83a968e6e16f8256ce150938227019ba029d5

See more details on using hashes here.

File details

Details for the file staticdash-2026.9-py3-none-any.whl.

File metadata

  • Download URL: staticdash-2026.9-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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d292bdf631608e7dfa92f40aca0d94d7dfe74cf54f0f897ff84010f51aa85eb4
MD5 7d682469ef9a69af724c45edc06f254b
BLAKE2b-256 55034b9b6780894b2683a81471792bb1567eef5dba4337975ccb04dc476198b6

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