A previous release had provenance metadata, but this release does not. View details.
gds-viz
Mermaid diagram renderers for gds-framework specifications.
uv add gds-viz
# or: pip install gds-viz
Views
gds-viz provides six views — each a different projection of the GDS specification {h, X}:
| View | Function | Input | Answers |
|---|---|---|---|
| 1. Structural | system_to_mermaid() |
SystemIR |
What blocks exist and how are they wired? |
| 2. Canonical GDS | canonical_to_mermaid() |
CanonicalGDS |
What is the formal decomposition h = f ∘ g? |
| 3. Architecture (role) | spec_to_mermaid() |
GDSSpec |
How do blocks group by GDS role? |
| 4. Architecture (domain) | spec_to_mermaid(group_by=...) |
GDSSpec |
How do blocks group by domain/agent? |
| 5. Parameter influence | params_to_mermaid() |
GDSSpec |
What does each parameter control? |
| 6. Traceability | trace_to_mermaid() |
GDSSpec |
What can affect a specific state variable? |
View 1: Structural
The compiled block graph from SystemIR. Shows composition topology — sequential, parallel, feedback, temporal — with role-based shapes (stadium for boundary, double-bracket for mechanism) and wiring types (solid, dashed, thick).
from gds_viz import system_to_mermaid
mermaid = system_to_mermaid(system)
View 2: Canonical GDS
The mathematical decomposition: X_t → U → g → f → X_{t+1} with parameter space Θ. Derives from CanonicalGDS (via project_canonical(spec)). Shows state variables in X nodes, role subgraphs, labeled update edges, and parameter dependencies.
from gds.canonical import project_canonical
from gds_viz import canonical_to_mermaid
mermaid = canonical_to_mermaid(project_canonical(spec))
Views 3 & 4: Architecture
Domain-level diagrams from GDSSpec. Show entity state cylinders, typed wire labels (from Wire.space), and mechanism-to-entity update edges. View 3 groups by GDS role; View 4 groups by any tag key.
from gds_viz import spec_to_mermaid
by_role = spec_to_mermaid(spec) # View 3
by_agent = spec_to_mermaid(spec, group_by="domain") # View 4
Tags are set on blocks at definition time:
sensor = BoundaryAction(name="Sensor", ..., tags={"domain": "Observation"})
View 5: Parameter Influence
Shows Θ → block → entity causal map. Hexagon nodes for parameters, dashed edges to blocks that use them, then forward through the dependency graph to entities. Answers: "if I change parameter X, what state is affected?"
from gds_viz import params_to_mermaid
mermaid = params_to_mermaid(spec)
View 6: Traceability
For a single entity variable, traces every block that can transitively affect it and every parameter feeding those blocks. Right-to-left layout with thick edges for direct updates. Answers: "what controls this variable?"
from gds_viz import trace_to_mermaid
mermaid = trace_to_mermaid(spec, "Susceptible", "count")
What gds-viz does NOT cover
The six views above exhaust what is derivable from the GDS specification {h, X}. Two commonly requested views are deliberately excluded:
State Machine View — requires discrete states and transition guards. GDS defines a continuous state space X, not a finite set of named states. Discretizing X is domain-specific interpretation, not derivable from {h, X}.
Simulation / Execution Order View — requires operational semantics (when blocks execute, in what order, with what timing). GDS specifies only structural relationships. The composition algebra defines topology, not a runtime.
| Concern | In GDS? | Where it belongs |
|---|---|---|
| State space, block topology, dependencies, parameters | Yes | GDSSpec, SystemIR, SpecQuery |
| Discrete state machine | No | Domain-specific layer or gds-sim |
| Execution schedule, time semantics | No | Simulator / runtime (gds-sim) |
A future gds-sim package could add execution semantics, making these views derivable from (GDSSpec, SimConfig).
License
Apache-2.0
Built with Claude Code. All code is test-driven and human-reviewed.
Credits & Attribution
Author: Rohan Mehta — BlockScience
Theoretical foundation: Dr. Michael Zargham and Dr. Jamsheed Shorish — Generalized Dynamical Systems, Part I: Foundations (2021).
Architectural inspiration: Sean McOwen — MSML and bdp-lib.
Contributors:
- Michael Zargham — Project direction, GDS theory guidance, and technical review (BlockScience).
- Peter Hacker — Code auditing and review (BlockScience).
Lineage: Part of the cadCAD ecosystem for Complex Adaptive Dynamics.
Metadata
Release files for gds-viz 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Loss of provenance
These files do not have provenance metadata, despite files in a prior release including this data.
We recommend further investigation before installing these files. View details.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gds_viz-0.1.2.tar.gz | 21.6 kB | Without provenance | Details for gds_viz-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gds_viz-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for gds_viz-0.1.2-py3-none-any.whl |
Total release size: 42.0 kB
Release files / gds_viz-0.1.2.tar.gz
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | gds_viz-0.1.2.tar.gz |
|---|---|
| Size | 21.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f639f0101f514377ed8c1973a75a95dc130e483123c6b78bfa2b31a9af704daa
|
|
BLAKE2b-256 checksum How to use checksums |
fdbfe8b7679004137a986e4efdfdc84c93239d277debe95f882937c5fe6b1c5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / gds_viz-0.1.2-py3-none-any.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | gds_viz-0.1.2-py3-none-any.whl |
|---|---|
| Size | 20.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
727b465f9dc81be68fde8ffe3c988d26e7973c59a40771adc23a4afca6dbd0e9
|
|
BLAKE2b-256 checksum How to use checksums |
acf9d820cb1cc0a9883105f4c36605d433b49068d5f8ee3cc536fec180e4268c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for gds-viz 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Loss of provenance
A previous release of these files had provenance metadata, but this release does not.
While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.
Release comparison
- Removed 0.1.1 2 files With provenance
- Added 0.1.2 2 files Without provenance
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.