mandala-visualizer 0.1.0__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.
- mandala_visualizer-0.1.0/.github/workflows/ci.yml +48 -0
- mandala_visualizer-0.1.0/.gitignore +22 -0
- mandala_visualizer-0.1.0/.pre-commit-config.yaml +17 -0
- mandala_visualizer-0.1.0/LICENSE +21 -0
- mandala_visualizer-0.1.0/PKG-INFO +129 -0
- mandala_visualizer-0.1.0/README.md +85 -0
- mandala_visualizer-0.1.0/docs/changelog.md +34 -0
- mandala_visualizer-0.1.0/docs/cli.md +86 -0
- mandala_visualizer-0.1.0/docs/index.md +77 -0
- mandala_visualizer-0.1.0/docs/templates.md +111 -0
- mandala_visualizer-0.1.0/domains.yaml +13 -0
- mandala_visualizer-0.1.0/mkdocs.yml +43 -0
- mandala_visualizer-0.1.0/pyproject.toml +96 -0
- mandala_visualizer-0.1.0/src/mandala_visualizer/__init__.py +7 -0
- mandala_visualizer-0.1.0/src/mandala_visualizer/cli.py +57 -0
- mandala_visualizer-0.1.0/src/mandala_visualizer/core.py +114 -0
- mandala_visualizer-0.1.0/src/mandala_visualizer/entropy_table_bridge.py +44 -0
- mandala_visualizer-0.1.0/tests/__init__.py +0 -0
- mandala_visualizer-0.1.0/tests/test_cli.py +36 -0
- mandala_visualizer-0.1.0/tests/test_core.py +63 -0
- mandala_visualizer-0.1.0/uv.lock +1448 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, master]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
name: Test (Python ${{ matrix.python-version }})
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
python-version: ["3.11", "3.12"]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Install uv
|
|
21
|
+
uses: astral-sh/setup-uv@v5
|
|
22
|
+
with:
|
|
23
|
+
version: "latest"
|
|
24
|
+
|
|
25
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
26
|
+
run: uv python install ${{ matrix.python-version }}
|
|
27
|
+
|
|
28
|
+
- name: Install dependencies
|
|
29
|
+
run: uv sync --extra dev
|
|
30
|
+
|
|
31
|
+
- name: Lint (ruff)
|
|
32
|
+
run: uv run ruff check .
|
|
33
|
+
|
|
34
|
+
- name: Format check (ruff)
|
|
35
|
+
run: uv run ruff format --check .
|
|
36
|
+
|
|
37
|
+
- name: Run tests
|
|
38
|
+
run: uv run pytest
|
|
39
|
+
|
|
40
|
+
docs:
|
|
41
|
+
name: Build docs
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@v4
|
|
45
|
+
- uses: astral-sh/setup-uv@v5
|
|
46
|
+
- run: uv python install 3.11
|
|
47
|
+
- run: uv sync --extra docs
|
|
48
|
+
- run: uv run mkdocs build --strict
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
3
|
+
rev: v0.6.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: ruff
|
|
6
|
+
args: [--fix]
|
|
7
|
+
- id: ruff-format
|
|
8
|
+
|
|
9
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
10
|
+
rev: v4.6.0
|
|
11
|
+
hooks:
|
|
12
|
+
- id: trailing-whitespace
|
|
13
|
+
- id: end-of-file-fixer
|
|
14
|
+
- id: check-yaml
|
|
15
|
+
- id: check-toml
|
|
16
|
+
- id: check-merge-conflict
|
|
17
|
+
- id: debug-statements
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 JohannRömer
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mandala-visualizer
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: The visual mandala renderer for the GenesisAeon stack – Climate Dashboard, Cosmic-Web, Mermaid/Grafana integration and fraktal MandalaMap visuals.
|
|
5
|
+
Project-URL: Repository, https://github.com/GenesisAeon/mandala-visualizer
|
|
6
|
+
Project-URL: Issues, https://github.com/GenesisAeon/mandala-visualizer/issues
|
|
7
|
+
Author-email: GenesisAeon Team <team@genesisaeon.org>
|
|
8
|
+
License: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Keywords: climate,cosmic-web,dashboard,fractal,mandala,visualization
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
19
|
+
Requires-Python: >=3.11
|
|
20
|
+
Requires-Dist: matplotlib>=3.8.0
|
|
21
|
+
Requires-Dist: networkx>=3.3
|
|
22
|
+
Requires-Dist: numpy>=1.26.0
|
|
23
|
+
Requires-Dist: pyyaml>=6.0
|
|
24
|
+
Requires-Dist: rich>=13.0.0
|
|
25
|
+
Requires-Dist: typer>=0.15.0
|
|
26
|
+
Provides-Extra: dev
|
|
27
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
28
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
29
|
+
Requires-Dist: ruff>=0.9; extra == 'dev'
|
|
30
|
+
Provides-Extra: docs
|
|
31
|
+
Requires-Dist: mkdocs-material>=9.6; extra == 'docs'
|
|
32
|
+
Requires-Dist: mkdocs>=1.6; extra == 'docs'
|
|
33
|
+
Requires-Dist: mkdocstrings[python]>=0.27; extra == 'docs'
|
|
34
|
+
Provides-Extra: stack
|
|
35
|
+
Requires-Dist: cosmic-moment>=0.1.0; extra == 'stack'
|
|
36
|
+
Requires-Dist: entropy-governance>=0.1.0; extra == 'stack'
|
|
37
|
+
Requires-Dist: entropy-table>=1.0.1; extra == 'stack'
|
|
38
|
+
Requires-Dist: field-theory>=0.1.0; extra == 'stack'
|
|
39
|
+
Requires-Dist: implosive-genesis>=0.4.0; extra == 'stack'
|
|
40
|
+
Requires-Dist: medium-modulation>=0.1.0; extra == 'stack'
|
|
41
|
+
Requires-Dist: sigillin>=0.1.0; extra == 'stack'
|
|
42
|
+
Requires-Dist: utac-core>=0.1.0; extra == 'stack'
|
|
43
|
+
Description-Content-Type: text/markdown
|
|
44
|
+
|
|
45
|
+
# mandala-visualizer
|
|
46
|
+
|
|
47
|
+
**The visual mandala renderer** for the GenesisAeon stack – Climate Dashboard, Cosmic-Web, Mermaid/Grafana integration and fraktal MandalaMap visuals.
|
|
48
|
+
|
|
49
|
+
[](https://github.com/GenesisAeon/mandala-visualizer/actions/workflows/ci.yml)
|
|
50
|
+
[](https://www.python.org)
|
|
51
|
+
[](LICENSE)
|
|
52
|
+
[](https://pypi.org/project/mandala-visualizer/)
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Install
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
pip install mandala-visualizer
|
|
60
|
+
# with full GenesisAeon stack integration:
|
|
61
|
+
pip install mandala-visualizer[stack]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## CLI Usage
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Render a Cosmic-Web mandala (saves cosmic-web.png)
|
|
68
|
+
mviz render --type cosmic-web
|
|
69
|
+
|
|
70
|
+
# Render an Entropy-Gate mandala
|
|
71
|
+
mviz render --type entropy-gate --output entropy-gate.png
|
|
72
|
+
|
|
73
|
+
# Render the Climate Entropy Dashboard
|
|
74
|
+
mviz dashboard
|
|
75
|
+
|
|
76
|
+
# Generate Mermaid graph for Grafana
|
|
77
|
+
mviz bridge
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Python API
|
|
81
|
+
|
|
82
|
+
```python
|
|
83
|
+
from mandala_visualizer import render_mandala, climate_dashboard, mermaid_grafana_bridge
|
|
84
|
+
|
|
85
|
+
# Render a fractal mandala
|
|
86
|
+
fig = render_mandala("cosmic-web")
|
|
87
|
+
fig.savefig("mandala.png", dpi=150)
|
|
88
|
+
|
|
89
|
+
# Climate Dashboard
|
|
90
|
+
fig = climate_dashboard()
|
|
91
|
+
fig.savefig("dashboard.png", dpi=150)
|
|
92
|
+
|
|
93
|
+
# Mermaid/Grafana bridge
|
|
94
|
+
print(mermaid_grafana_bridge({}))
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Project Structure
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
mandala-visualizer/
|
|
101
|
+
├── pyproject.toml
|
|
102
|
+
├── README.md
|
|
103
|
+
├── domains.yaml
|
|
104
|
+
├── src/
|
|
105
|
+
│ └── mandala_visualizer/
|
|
106
|
+
│ ├── __init__.py
|
|
107
|
+
│ ├── core.py # MandalaMap rendering, Climate Dashboard, Mermaid bridge
|
|
108
|
+
│ ├── cli.py # mviz CLI (Typer + Rich)
|
|
109
|
+
│ └── entropy_table_bridge.py # Optional entropy-table integration
|
|
110
|
+
└── tests/
|
|
111
|
+
├── test_core.py
|
|
112
|
+
└── test_cli.py
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Stack Integration
|
|
116
|
+
|
|
117
|
+
With `pip install mandala-visualizer[stack]`, mandala-visualizer integrates with the full GenesisAeon stack:
|
|
118
|
+
|
|
119
|
+
| Package | Role |
|
|
120
|
+
|---------|------|
|
|
121
|
+
| `utac-core` | β-Fitting and resonance calculations |
|
|
122
|
+
| `sigillin` | Sigil-based domain encoding |
|
|
123
|
+
| `field-theory` | Field equations for mandala geometry |
|
|
124
|
+
| `entropy-table` | Domain relation tracking |
|
|
125
|
+
| `cosmic-moment` | Temporal anchoring |
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
Built with [matplotlib](https://matplotlib.org/) · [NetworkX](https://networkx.org/) · [Typer](https://typer.tiangolo.com/) · [Rich](https://rich.readthedocs.io/)
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# mandala-visualizer
|
|
2
|
+
|
|
3
|
+
**The visual mandala renderer** for the GenesisAeon stack – Climate Dashboard, Cosmic-Web, Mermaid/Grafana integration and fraktal MandalaMap visuals.
|
|
4
|
+
|
|
5
|
+
[](https://github.com/GenesisAeon/mandala-visualizer/actions/workflows/ci.yml)
|
|
6
|
+
[](https://www.python.org)
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
[](https://pypi.org/project/mandala-visualizer/)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pip install mandala-visualizer
|
|
16
|
+
# with full GenesisAeon stack integration:
|
|
17
|
+
pip install mandala-visualizer[stack]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## CLI Usage
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Render a Cosmic-Web mandala (saves cosmic-web.png)
|
|
24
|
+
mviz render --type cosmic-web
|
|
25
|
+
|
|
26
|
+
# Render an Entropy-Gate mandala
|
|
27
|
+
mviz render --type entropy-gate --output entropy-gate.png
|
|
28
|
+
|
|
29
|
+
# Render the Climate Entropy Dashboard
|
|
30
|
+
mviz dashboard
|
|
31
|
+
|
|
32
|
+
# Generate Mermaid graph for Grafana
|
|
33
|
+
mviz bridge
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Python API
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
from mandala_visualizer import render_mandala, climate_dashboard, mermaid_grafana_bridge
|
|
40
|
+
|
|
41
|
+
# Render a fractal mandala
|
|
42
|
+
fig = render_mandala("cosmic-web")
|
|
43
|
+
fig.savefig("mandala.png", dpi=150)
|
|
44
|
+
|
|
45
|
+
# Climate Dashboard
|
|
46
|
+
fig = climate_dashboard()
|
|
47
|
+
fig.savefig("dashboard.png", dpi=150)
|
|
48
|
+
|
|
49
|
+
# Mermaid/Grafana bridge
|
|
50
|
+
print(mermaid_grafana_bridge({}))
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Project Structure
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
mandala-visualizer/
|
|
57
|
+
├── pyproject.toml
|
|
58
|
+
├── README.md
|
|
59
|
+
├── domains.yaml
|
|
60
|
+
├── src/
|
|
61
|
+
│ └── mandala_visualizer/
|
|
62
|
+
│ ├── __init__.py
|
|
63
|
+
│ ├── core.py # MandalaMap rendering, Climate Dashboard, Mermaid bridge
|
|
64
|
+
│ ├── cli.py # mviz CLI (Typer + Rich)
|
|
65
|
+
│ └── entropy_table_bridge.py # Optional entropy-table integration
|
|
66
|
+
└── tests/
|
|
67
|
+
├── test_core.py
|
|
68
|
+
└── test_cli.py
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Stack Integration
|
|
72
|
+
|
|
73
|
+
With `pip install mandala-visualizer[stack]`, mandala-visualizer integrates with the full GenesisAeon stack:
|
|
74
|
+
|
|
75
|
+
| Package | Role |
|
|
76
|
+
|---------|------|
|
|
77
|
+
| `utac-core` | β-Fitting and resonance calculations |
|
|
78
|
+
| `sigillin` | Sigil-based domain encoding |
|
|
79
|
+
| `field-theory` | Field equations for mandala geometry |
|
|
80
|
+
| `entropy-table` | Domain relation tracking |
|
|
81
|
+
| `cosmic-moment` | Temporal anchoring |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
Built with [matplotlib](https://matplotlib.org/) · [NetworkX](https://networkx.org/) · [Typer](https://typer.tiangolo.com/) · [Rich](https://rich.readthedocs.io/)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to **mandala-visualizer** are documented here.
|
|
4
|
+
|
|
5
|
+
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
|
+
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## [0.1.0] – 2026-03-17
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **`render_mandala()`** – fraktal MandalaMap renderer for `cosmic-web` (star graph, spring layout) and `entropy-gate` (Petersen graph, circular layout) types via matplotlib + NetworkX.
|
|
15
|
+
- **`climate_dashboard()`** – Climate Entropy Dashboard with golden-ratio entropy wave (φ = 1.618) and fractal mandala polar pattern.
|
|
16
|
+
- **`mermaid_grafana_bridge()`** – Mermaid graph generator for Grafana panel integration (Entropy → Governance → Cosmic Moment → MandalaMap cycle).
|
|
17
|
+
- **`bind_to_utac()`** – Optional β-Fitting binding to `utac-core`; falls back gracefully if stack not installed.
|
|
18
|
+
- **`mviz render`** CLI command – render any mandala type to PNG with configurable output path.
|
|
19
|
+
- **`mviz dashboard`** CLI command – render Climate Entropy Dashboard to PNG.
|
|
20
|
+
- **`mviz bridge`** CLI command – print Mermaid graph to stdout for Grafana import.
|
|
21
|
+
- **`[stack]` extra** – optional integration with the full GenesisAeon stack (`utac-core`, `sigillin`, `field-theory`, `cosmic-moment`, `medium-modulation`, `entropy-governance`, `entropy-table`, `implosive-genesis`).
|
|
22
|
+
- **`uv` override-dependencies** – non-PyPI stack packages excluded from lock resolution via `python_version < '0'` markers so CI stays green without requiring private index.
|
|
23
|
+
- **12/12 tests** with 73% coverage (`test_core.py` + `test_cli.py`).
|
|
24
|
+
- **mkdocs-material** documentation with CLI reference and changelog.
|
|
25
|
+
- `domains.yaml` – GenesisAeon domain/metric configuration file.
|
|
26
|
+
|
|
27
|
+
### Technical
|
|
28
|
+
|
|
29
|
+
- `src/` layout with `hatchling` build backend.
|
|
30
|
+
- `ruff` (E, F, B, I, W, UP, C4, SIM rules) – all checks pass.
|
|
31
|
+
- Python 3.11+ required; tested on 3.11 and 3.12.
|
|
32
|
+
- MIT License.
|
|
33
|
+
|
|
34
|
+
[0.1.0]: https://github.com/GenesisAeon/mandala-visualizer/releases/tag/v0.1.0
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# CLI Reference
|
|
2
|
+
|
|
3
|
+
The `mviz` CLI provides three commands for rendering mandalas, dashboards, and generating Mermaid graphs.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## `mviz render`
|
|
8
|
+
|
|
9
|
+
Render a fraktal MandalaMap and save it as a PNG file.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Usage: mviz render [OPTIONS]
|
|
13
|
+
|
|
14
|
+
Options:
|
|
15
|
+
--type TEXT Mandala type: cosmic-web or entropy-gate [default: cosmic-web]
|
|
16
|
+
--output PATH Output PNG file path [default: mandala.png]
|
|
17
|
+
--help Show this message and exit.
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Examples**
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Render the default cosmic-web mandala
|
|
24
|
+
mviz render
|
|
25
|
+
|
|
26
|
+
# Render an entropy-gate mandala
|
|
27
|
+
mviz render --type entropy-gate
|
|
28
|
+
|
|
29
|
+
# Custom output path
|
|
30
|
+
mviz render --type cosmic-web --output my-mandala.png
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## `mviz dashboard`
|
|
36
|
+
|
|
37
|
+
Render the Climate Entropy Dashboard (entropy wave + fractal mandala pattern) and save as PNG.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Usage: mviz dashboard [OPTIONS]
|
|
41
|
+
|
|
42
|
+
Options:
|
|
43
|
+
--output PATH Output PNG file path [default: climate-dashboard.png]
|
|
44
|
+
--help Show this message and exit.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Examples**
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Render dashboard with default output name
|
|
51
|
+
mviz dashboard
|
|
52
|
+
|
|
53
|
+
# Custom output path
|
|
54
|
+
mviz dashboard --output my-dashboard.png
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## `mviz bridge`
|
|
60
|
+
|
|
61
|
+
Print a Mermaid graph string for Grafana integration. The output can be pasted directly into a Grafana Mermaid panel.
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
Usage: mviz bridge [OPTIONS]
|
|
65
|
+
|
|
66
|
+
Options:
|
|
67
|
+
--help Show this message and exit.
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Example output**
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
graph TD
|
|
74
|
+
A[Entropy] --> B[Governance]
|
|
75
|
+
B --> C[Cosmic Moment]
|
|
76
|
+
C --> D[MandalaMap]
|
|
77
|
+
D --> A
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Print Mermaid graph to stdout
|
|
82
|
+
mviz bridge
|
|
83
|
+
|
|
84
|
+
# Pipe to file for Grafana import
|
|
85
|
+
mviz bridge > grafana-mandala.mmd
|
|
86
|
+
```
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# mandala-visualizer
|
|
2
|
+
|
|
3
|
+
**The visual mandala renderer** for the GenesisAeon stack – Climate Dashboard, Cosmic-Web, Mermaid/Grafana integration and fraktal MandalaMap visuals.
|
|
4
|
+
|
|
5
|
+
[](https://github.com/GenesisAeon/mandala-visualizer/actions/workflows/ci.yml)
|
|
6
|
+
[](https://pypi.org/project/mandala-visualizer/)
|
|
7
|
+
[](https://www.python.org)
|
|
8
|
+
[](https://github.com/GenesisAeon/mandala-visualizer/blob/main/LICENSE)
|
|
9
|
+
[](https://github.com/GenesisAeon/mandala-visualizer)
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pip install mandala-visualizer
|
|
15
|
+
# with full GenesisAeon stack integration:
|
|
16
|
+
pip install "mandala-visualizer[stack]"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Quickstart
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Render a Cosmic-Web mandala (saves mandala.png)
|
|
23
|
+
mviz render --type cosmic-web
|
|
24
|
+
|
|
25
|
+
# Render an Entropy-Gate mandala
|
|
26
|
+
mviz render --type entropy-gate --output entropy-gate.png
|
|
27
|
+
|
|
28
|
+
# Render the Climate Entropy Dashboard
|
|
29
|
+
mviz dashboard
|
|
30
|
+
|
|
31
|
+
# Generate Mermaid graph for Grafana
|
|
32
|
+
mviz bridge
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Python API
|
|
36
|
+
|
|
37
|
+
```python
|
|
38
|
+
from mandala_visualizer import render_mandala, climate_dashboard, mermaid_grafana_bridge
|
|
39
|
+
|
|
40
|
+
# Render a fractal mandala
|
|
41
|
+
fig = render_mandala("cosmic-web")
|
|
42
|
+
fig.savefig("mandala.png", dpi=150)
|
|
43
|
+
|
|
44
|
+
# Climate Dashboard
|
|
45
|
+
fig = climate_dashboard()
|
|
46
|
+
fig.savefig("dashboard.png", dpi=150)
|
|
47
|
+
|
|
48
|
+
# Mermaid/Grafana bridge
|
|
49
|
+
print(mermaid_grafana_bridge({}))
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Commands
|
|
53
|
+
|
|
54
|
+
| Command | Description |
|
|
55
|
+
|---------|-------------|
|
|
56
|
+
| `mviz render` | Render a MandalaMap (cosmic-web or entropy-gate) |
|
|
57
|
+
| `mviz dashboard` | Render the Climate Entropy Dashboard |
|
|
58
|
+
| `mviz bridge` | Print Mermaid graph for Grafana integration |
|
|
59
|
+
|
|
60
|
+
## Stack Integration
|
|
61
|
+
|
|
62
|
+
With `pip install "mandala-visualizer[stack]"`, mandala-visualizer integrates with the full GenesisAeon stack:
|
|
63
|
+
|
|
64
|
+
| Package | Role |
|
|
65
|
+
|---------|------|
|
|
66
|
+
| `utac-core` | β-Fitting and resonance calculations |
|
|
67
|
+
| `sigillin` | Sigil-based domain encoding |
|
|
68
|
+
| `field-theory` | Field equations for mandala geometry |
|
|
69
|
+
| `entropy-table` | Domain relation tracking |
|
|
70
|
+
| `cosmic-moment` | Temporal anchoring |
|
|
71
|
+
| `medium-modulation` | Signal modulation layer |
|
|
72
|
+
| `entropy-governance` | Governance and validation |
|
|
73
|
+
| `implosive-genesis` | Genesis event processing |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
Built with [matplotlib](https://matplotlib.org/) · [NetworkX](https://networkx.org/) · [Typer](https://typer.tiangolo.com/) · [Rich](https://rich.readthedocs.io/)
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Templates
|
|
2
|
+
|
|
3
|
+
Diamond Setup ships two built-in templates. Adding your own is a single Python file.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## `minimal`
|
|
8
|
+
|
|
9
|
+
**The default.** A clean, modern Python project with everything you need and nothing you don't.
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
diamond scaffold my-lib
|
|
13
|
+
diamond scaffold my-lib --template minimal
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### Files generated
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
my-lib/
|
|
20
|
+
├── src/
|
|
21
|
+
│ └── my_lib/
|
|
22
|
+
│ └── __init__.py
|
|
23
|
+
├── tests/
|
|
24
|
+
│ ├── __init__.py
|
|
25
|
+
│ └── test_main.py
|
|
26
|
+
├── .github/
|
|
27
|
+
│ └── workflows/
|
|
28
|
+
│ └── ci.yml
|
|
29
|
+
├── pyproject.toml
|
|
30
|
+
├── README.md
|
|
31
|
+
├── .gitignore
|
|
32
|
+
└── .pre-commit-config.yaml
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Variables
|
|
36
|
+
|
|
37
|
+
| Variable | Default | Description |
|
|
38
|
+
|----------|---------|-------------|
|
|
39
|
+
| `name` | *(required)* | Project name |
|
|
40
|
+
| `description` | `"A Python project"` | Short description |
|
|
41
|
+
| `author` | `"Your Name"` | Author name |
|
|
42
|
+
| `python_version` | `"3.11"` | Minimum Python version |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## `genesis`
|
|
47
|
+
|
|
48
|
+
A superset of `minimal` — adds a `domains.yaml` for domain/metric configuration and an `entropy-table` YAML bridge module.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
diamond scaffold my-physics-tool --template genesis
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Extra files
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
my-physics-tool/
|
|
58
|
+
├── domains.yaml ← domain/metric configuration
|
|
59
|
+
├── config/
|
|
60
|
+
│ └── entropy.yaml ← entropy-table bridge config
|
|
61
|
+
└── src/
|
|
62
|
+
└── my_physics_tool/
|
|
63
|
+
├── __init__.py
|
|
64
|
+
└── bridge.py ← entropy-table export function
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Extra variables
|
|
68
|
+
|
|
69
|
+
| Variable | Default | Description |
|
|
70
|
+
|----------|---------|-------------|
|
|
71
|
+
| `metrics` | `"crep"` | Default metrics identifier |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Adding a Custom Template
|
|
76
|
+
|
|
77
|
+
1. Create `src/diamond_setup/templates/my_template.py`:
|
|
78
|
+
|
|
79
|
+
```python
|
|
80
|
+
TEMPLATE = {
|
|
81
|
+
"name": "my_template",
|
|
82
|
+
"description": "My custom template",
|
|
83
|
+
"variables": ["name", "description", "author", "python_version"],
|
|
84
|
+
"defaults": {
|
|
85
|
+
"description": "My project",
|
|
86
|
+
"author": "Your Name",
|
|
87
|
+
"python_version": "3.11",
|
|
88
|
+
},
|
|
89
|
+
"files": {
|
|
90
|
+
"README.md": "# ${name}\n\n${description}\n",
|
|
91
|
+
"pyproject.toml": "...",
|
|
92
|
+
# keys are relative paths, values are template strings
|
|
93
|
+
# use ${variable} for substitution
|
|
94
|
+
# use $$ for a literal dollar sign
|
|
95
|
+
},
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
2. Register it in `src/diamond_setup/templates/__init__.py`:
|
|
100
|
+
|
|
101
|
+
```python
|
|
102
|
+
from .my_template import TEMPLATE as MY_TEMPLATE
|
|
103
|
+
|
|
104
|
+
REGISTRY: dict[str, dict] = {
|
|
105
|
+
"minimal": MINIMAL_TEMPLATE,
|
|
106
|
+
"genesis": GENESIS_TEMPLATE,
|
|
107
|
+
"my_template": MY_TEMPLATE, # ← add this
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
That's it. `diamond list-templates` will immediately show it.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
site_name: mandala-visualizer
|
|
2
|
+
site_description: The visual mandala renderer for the GenesisAeon stack – Climate Dashboard, Cosmic-Web, Mermaid/Grafana integration and fraktal MandalaMap visuals.
|
|
3
|
+
site_author: GenesisAeon
|
|
4
|
+
repo_url: https://github.com/GenesisAeon/mandala-visualizer
|
|
5
|
+
repo_name: GenesisAeon/mandala-visualizer
|
|
6
|
+
|
|
7
|
+
theme:
|
|
8
|
+
name: material
|
|
9
|
+
palette:
|
|
10
|
+
- media: "(prefers-color-scheme: light)"
|
|
11
|
+
scheme: default
|
|
12
|
+
primary: deep purple
|
|
13
|
+
accent: purple
|
|
14
|
+
toggle:
|
|
15
|
+
icon: material/brightness-7
|
|
16
|
+
name: Switch to dark mode
|
|
17
|
+
- media: "(prefers-color-scheme: dark)"
|
|
18
|
+
scheme: slate
|
|
19
|
+
primary: deep purple
|
|
20
|
+
accent: purple
|
|
21
|
+
toggle:
|
|
22
|
+
icon: material/brightness-4
|
|
23
|
+
name: Switch to light mode
|
|
24
|
+
features:
|
|
25
|
+
- navigation.tabs
|
|
26
|
+
- navigation.sections
|
|
27
|
+
- navigation.top
|
|
28
|
+
- content.code.annotate
|
|
29
|
+
- content.code.copy
|
|
30
|
+
- search.highlight
|
|
31
|
+
|
|
32
|
+
markdown_extensions:
|
|
33
|
+
- admonition
|
|
34
|
+
- pymdownx.highlight:
|
|
35
|
+
anchor_linenums: true
|
|
36
|
+
- pymdownx.superfences
|
|
37
|
+
- pymdownx.tabbed:
|
|
38
|
+
alternate_style: true
|
|
39
|
+
|
|
40
|
+
nav:
|
|
41
|
+
- Home: index.md
|
|
42
|
+
- CLI Reference: cli.md
|
|
43
|
+
- Changelog: changelog.md
|