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

Uploaded Python 3

File details

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

File metadata

  • Download URL: staticdash-2026.8.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.8.tar.gz
Algorithm Hash digest
SHA256 57032f1eeb95e756ac666f662480695985a48a75faa5942ac7f638650a5df60e
MD5 94ecdd4192aae2ff3d9ddc0e6257f526
BLAKE2b-256 05e0477f8c97b0327910b98f4ec2b42df4011a08f96792745b62162a55827b13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: staticdash-2026.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 8c9d5c30ef1cab509c77a164d819033427054a50a22a8452358c470d29a969b8
MD5 dbcf822a8b7747b38703bc5b344d3992
BLAKE2b-256 a7db4bef400e97206e1bc2bdb0309468c8852d21ca1071b21dd497af5a740765

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