staticdash 2026.6__tar.gz → 2026.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. staticdash-2026.7/PKG-INFO +98 -0
  2. staticdash-2026.7/README.md +77 -0
  3. {staticdash-2026.6 → staticdash-2026.7}/pyproject.toml +3 -1
  4. {staticdash-2026.6 → staticdash-2026.7}/setup.py +1 -0
  5. staticdash-2026.7/staticdash/assets/vendor/mermaid/mermaid.min.js +2029 -0
  6. staticdash-2026.7/staticdash/dashboard.py +747 -0
  7. staticdash-2026.7/staticdash.egg-info/PKG-INFO +98 -0
  8. {staticdash-2026.6 → staticdash-2026.7}/staticdash.egg-info/SOURCES.txt +1 -0
  9. {staticdash-2026.6 → staticdash-2026.7}/staticdash.egg-info/requires.txt +2 -0
  10. staticdash-2026.6/PKG-INFO +0 -71
  11. staticdash-2026.6/README.md +0 -52
  12. staticdash-2026.6/staticdash/dashboard.py +0 -979
  13. staticdash-2026.6/staticdash.egg-info/PKG-INFO +0 -71
  14. {staticdash-2026.6 → staticdash-2026.7}/setup.cfg +0 -0
  15. {staticdash-2026.6 → staticdash-2026.7}/staticdash/__init__.py +0 -0
  16. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/css/style.css +0 -0
  17. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/js/script.js +0 -0
  18. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/mathjax/tex-mml-chtml.js +0 -0
  19. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/plotly/plotly.min.js +0 -0
  20. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/prism/components/prism-bash.min.js +0 -0
  21. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/prism/components/prism-c.min.js +0 -0
  22. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/prism/components/prism-javascript.min.js +0 -0
  23. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/prism/components/prism-json.min.js +0 -0
  24. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/prism/components/prism-markup.min.js +0 -0
  25. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/prism/components/prism-python.min.js +0 -0
  26. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/prism/components/prism-sql.min.js +0 -0
  27. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/prism/prism-tomorrow.min.css +0 -0
  28. {staticdash-2026.6 → staticdash-2026.7}/staticdash/assets/vendor/prism/prism.min.js +0 -0
  29. {staticdash-2026.6 → staticdash-2026.7}/staticdash.egg-info/dependency_links.txt +0 -0
  30. {staticdash-2026.6 → staticdash-2026.7}/staticdash.egg-info/top_level.txt +0 -0
@@ -0,0 +1,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: staticdash
3
+ Version: 2026.7
4
+ Summary: A lightweight static HTML dashboard generator with Plotly and pandas support.
5
+ Author-email: Brian Day <brian.day1@gmail.com>
6
+ License: CC0-1.0
7
+ Project-URL: Homepage, https://github.com/staticdash/staticdash
8
+ Project-URL: Repository, https://github.com/staticdash/staticdash
9
+ Requires-Python: >=3.8
10
+ Description-Content-Type: text/markdown
11
+ Requires-Dist: plotly
12
+ Requires-Dist: pandas
13
+ Requires-Dist: dominate
14
+ Requires-Dist: matplotlib
15
+ Requires-Dist: markdown
16
+ Requires-Dist: pymdown-extensions
17
+ Provides-Extra: images
18
+ Requires-Dist: kaleido; extra == "images"
19
+ Provides-Extra: all
20
+ Requires-Dist: kaleido; extra == "all"
21
+
22
+ # staticdash
23
+
24
+ <p align="center">
25
+ <img src="https://raw.githubusercontent.com/staticdash/staticdash/main/logo.svg" alt="staticdash logo" width="220" height="50">
26
+ </p>
27
+
28
+ staticdash is a lightweight Python module for creating static, multi-page HTML dashboards. It supports:
29
+
30
+ - **Plotly plots:** Interactive, responsive visualizations
31
+ - **Matplotlib figures:** Static plots and charts
32
+ - **Pandas DataFrames:** Sortable, searchable tables
33
+ - **Rich text formatting:** Full Markdown support including **bold**, *italic*, ~~strikethrough~~, lists, links, tables, and blockquotes
34
+ - **Math expressions:** LaTeX math rendering with MathJax (inline `$...$` and display `$$...$$`)
35
+ - **Mermaid diagrams:** Flowcharts, sequence diagrams, state diagrams, and more
36
+ - **File downloads:** Add download buttons for any file
37
+ - **Multi-page navigation:** Hierarchical sidebar with subpages
38
+ - **Custom styling:** Easily customize CSS and JavaScript
39
+ - **Air-gapped support:** All assets vendored for offline environments
40
+
41
+ ## Installation
42
+
43
+ ```bash
44
+ pip install staticdash
45
+ ```
46
+
47
+ ## Features
48
+
49
+ ### Content Types
50
+
51
+ - **Add Plotly figures:** `page.add(fig)` - Interactive plots with zoom, pan, hover tooltips
52
+ - **Add Matplotlib figures:** `page.add(fig)` - Static plots converted to PNG
53
+ - **Add tables:** `page.add(df)` - Pandas DataFrames rendered as sortable, searchable tables
54
+ - **Add text:** `page.add("Your text")` - Full Markdown support including:
55
+ - **Bold**, *italic*, ~~strikethrough~~
56
+ - Lists (ordered and unordered)
57
+ - Links, blockquotes, code blocks
58
+ - Tables in Markdown syntax
59
+ - **Add headers:** `page.add_header("Title", level=2)` - Markdown headers (h1-h6)
60
+ - **Add math:** Use `$inline math$` or `$$display math$$` for LaTeX expressions
61
+ - **Add diagrams:** Use ` ```mermaid ` code blocks for flowcharts, sequence diagrams, state diagrams, gantt charts
62
+ - **Add downloads:** `page.add_download("path/to/file", "Label")` - File download buttons
63
+
64
+ ### Layout & Styling
65
+
66
+ - **Sidebar navigation:** Fixed sidebar with hierarchical pages and subpages
67
+ - **Responsive design:** Works on desktop and mobile devices
68
+ - **Custom styling:** Edit `assets/css/style.css` for your own look
69
+ - **Per-page HTML:** Individual HTML files for each page plus combined dashboard
70
+
71
+ ### Air-Gapped Support
72
+
73
+ All external dependencies (Plotly, MathJax, Mermaid, Prism) are vendored during installation, ensuring dashboards work completely offline without internet access or CDN dependencies.
74
+
75
+ ## Live Demos
76
+
77
+ - **[Tutorial Dashboard](https://staticdash.github.io/staticdash/tutorial_output/)** - Comprehensive feature demonstration
78
+ - **[Directory Example](https://staticdash.github.io/staticdash/directory_out/)** - Multiple dashboard aggregation
79
+
80
+ ## Examples
81
+
82
+ The repository includes a comprehensive tutorial demonstrating all features:
83
+
84
+ **Tutorial Dashboard:** Run `python tutorial.py` to generate `tutorial_output/index.html`
85
+
86
+ The tutorial demonstrates:
87
+ - Basic page creation and navigation
88
+ - Text formatting with Markdown (bold, italic, strikethrough, lists, links, tables)
89
+ - Plotly and Matplotlib figures
90
+ - Pandas DataFrame tables
91
+ - Subpages and hierarchical navigation
92
+ - MathJax math expressions (inline and display)
93
+ - Mermaid diagrams (flowcharts, sequence diagrams, state diagrams)
94
+ - Directory class for aggregating multiple dashboards
95
+
96
+ ---
97
+
98
+ For the source code, see [`tutorial.py`](./tutorial.py) in this repository.
@@ -0,0 +1,77 @@
1
+ # staticdash
2
+
3
+ <p align="center">
4
+ <img src="https://raw.githubusercontent.com/staticdash/staticdash/main/logo.svg" alt="staticdash logo" width="220" height="50">
5
+ </p>
6
+
7
+ staticdash is a lightweight Python module for creating static, multi-page HTML dashboards. It supports:
8
+
9
+ - **Plotly plots:** Interactive, responsive visualizations
10
+ - **Matplotlib figures:** Static plots and charts
11
+ - **Pandas DataFrames:** Sortable, searchable tables
12
+ - **Rich text formatting:** Full Markdown support including **bold**, *italic*, ~~strikethrough~~, lists, links, tables, and blockquotes
13
+ - **Math expressions:** LaTeX math rendering with MathJax (inline `$...$` and display `$$...$$`)
14
+ - **Mermaid diagrams:** Flowcharts, sequence diagrams, state diagrams, and more
15
+ - **File downloads:** Add download buttons for any file
16
+ - **Multi-page navigation:** Hierarchical sidebar with subpages
17
+ - **Custom styling:** Easily customize CSS and JavaScript
18
+ - **Air-gapped support:** All assets vendored for offline environments
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ pip install staticdash
24
+ ```
25
+
26
+ ## Features
27
+
28
+ ### Content Types
29
+
30
+ - **Add Plotly figures:** `page.add(fig)` - Interactive plots with zoom, pan, hover tooltips
31
+ - **Add Matplotlib figures:** `page.add(fig)` - Static plots converted to PNG
32
+ - **Add tables:** `page.add(df)` - Pandas DataFrames rendered as sortable, searchable tables
33
+ - **Add text:** `page.add("Your text")` - Full Markdown support including:
34
+ - **Bold**, *italic*, ~~strikethrough~~
35
+ - Lists (ordered and unordered)
36
+ - Links, blockquotes, code blocks
37
+ - Tables in Markdown syntax
38
+ - **Add headers:** `page.add_header("Title", level=2)` - Markdown headers (h1-h6)
39
+ - **Add math:** Use `$inline math$` or `$$display math$$` for LaTeX expressions
40
+ - **Add diagrams:** Use ` ```mermaid ` code blocks for flowcharts, sequence diagrams, state diagrams, gantt charts
41
+ - **Add downloads:** `page.add_download("path/to/file", "Label")` - File download buttons
42
+
43
+ ### Layout & Styling
44
+
45
+ - **Sidebar navigation:** Fixed sidebar with hierarchical pages and subpages
46
+ - **Responsive design:** Works on desktop and mobile devices
47
+ - **Custom styling:** Edit `assets/css/style.css` for your own look
48
+ - **Per-page HTML:** Individual HTML files for each page plus combined dashboard
49
+
50
+ ### Air-Gapped Support
51
+
52
+ All external dependencies (Plotly, MathJax, Mermaid, Prism) are vendored during installation, ensuring dashboards work completely offline without internet access or CDN dependencies.
53
+
54
+ ## Live Demos
55
+
56
+ - **[Tutorial Dashboard](https://staticdash.github.io/staticdash/tutorial_output/)** - Comprehensive feature demonstration
57
+ - **[Directory Example](https://staticdash.github.io/staticdash/directory_out/)** - Multiple dashboard aggregation
58
+
59
+ ## Examples
60
+
61
+ The repository includes a comprehensive tutorial demonstrating all features:
62
+
63
+ **Tutorial Dashboard:** Run `python tutorial.py` to generate `tutorial_output/index.html`
64
+
65
+ The tutorial demonstrates:
66
+ - Basic page creation and navigation
67
+ - Text formatting with Markdown (bold, italic, strikethrough, lists, links, tables)
68
+ - Plotly and Matplotlib figures
69
+ - Pandas DataFrame tables
70
+ - Subpages and hierarchical navigation
71
+ - MathJax math expressions (inline and display)
72
+ - Mermaid diagrams (flowcharts, sequence diagrams, state diagrams)
73
+ - Directory class for aggregating multiple dashboards
74
+
75
+ ---
76
+
77
+ For the source code, see [`tutorial.py`](./tutorial.py) in this repository.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "staticdash"
7
- version = "2026.6"
7
+ version = "2026.7"
8
8
  description = "A lightweight static HTML dashboard generator with Plotly and pandas support."
9
9
  authors = [
10
10
  { name = "Brian Day", email = "brian.day1@gmail.com" }
@@ -17,6 +17,8 @@ dependencies = [
17
17
  "pandas",
18
18
  "dominate",
19
19
  "matplotlib",
20
+ "markdown",
21
+ "pymdown-extensions",
20
22
  ]
21
23
 
22
24
  [project.optional-dependencies]
@@ -22,6 +22,7 @@ OFFLINE = os.environ.get("STATICDASH_VENDOR_OFFLINE", "0") == "1"
22
22
  VENDOR_FILES = [
23
23
  ("plotly/plotly.min.js", "https://cdn.plot.ly/plotly-2.32.0.min.js"),
24
24
  ("mathjax/tex-mml-chtml.js", "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"),
25
+ ("mermaid/mermaid.min.js", "https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"),
25
26
  ("prism/prism-tomorrow.min.css", "https://cdn.jsdelivr.net/npm/prismjs@1.29.0/themes/prism-tomorrow.min.css"),
26
27
  ("prism/prism.min.js", "https://cdn.jsdelivr.net/npm/prismjs@1.29.0/prism.min.js"),
27
28
  ("prism/components/prism-python.min.js", "https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-python.min.js"),