Skip to content

DynamicalSystemsGroup/gds-core

gds-core

License CI

Monorepo for the Generalized Dynamical Systems ecosystem — typed compositional specifications for complex systems, grounded in GDS theory (Zargham & Shorish, 2022).

Packages

Package PyPI Description
gds-framework PyPI Core engine — blocks, composition algebra, compiler, verification
gds-viz PyPI Mermaid diagram renderers for GDS specifications
gds-interchange PyPI OWL/SHACL/SPARQL export and RDF round-trip tooling
gds-owl PyPI Compatibility distribution for gds_interchange.owl
gds-proof PyPI Symbolic invariant analysis and proof verification
gds-domains PyPI Shared namespace for domain DSL packages
gds-games PyPI Typed DSL for compositional game theory (Open Games)
gds-stockflow PyPI Declarative stock-flow DSL over GDS semantics
gds-control PyPI State-space control DSL over GDS semantics
gds-software PyPI Software architecture DSL (DFD, SM, C4, ERD, Dependency)
gds-business PyPI Business dynamics DSL (CLD, supply chain, value stream map)
gds-symbolic PyPI SymPy bridge for control models
gds-sim PyPI Standalone discrete-time simulation engine for GDS models
gds-continuous PyPI Continuous-time ODE integration runtime
gds-analysis PyPI GDSSpec-to-simulation bridge, reachability, and gds_analysis.psuu parameter search
gds-psuu PyPI Deprecated compatibility package re-exporting gds_analysis.psuu
gds-examples PyPI Tutorial models demonstrating framework features

Quick Start

# Clone and install all packages (editable, workspace-linked)
git clone https://github.com/DynamicalSystemsGroup/gds-core.git
cd gds-core
uv sync --all-packages

# Run tests for a specific package
uv run --package gds-framework pytest packages/gds-framework/tests -v

# Run all tests
uv run --package gds-framework pytest packages/gds-framework/tests packages/gds-viz/tests packages/gds-interchange/tests packages/gds-owl/tests packages/gds-proof/tests packages/gds-domains/tests packages/gds-games/tests packages/gds-stockflow/tests packages/gds-control/tests packages/gds-software/tests packages/gds-business/tests packages/gds-symbolic/tests packages/gds-sim/tests packages/gds-continuous/tests packages/gds-analysis/tests packages/gds-psuu/tests packages/gds-examples/tests -v

# Lint & format
uv run ruff check packages/
uv run ruff format --check packages/

Development

This is a uv workspace monorepo. All packages are developed together with shared tooling:

  • Linting/formatting: Ruff (configured at root, line-length 88)
  • Testing: pytest per-package
  • Docs: Unified MkDocs Material site
  • CI: GitHub Actions matrix across all packages
  • Publishing: Tag-based per-package PyPI publishing (gds-framework/v0.3.1)

Documentation

Full documentation at dynamicalsystemsgroup.github.io/gds-core.

Citation

If you use GDS in your research, please cite:

M. Zargham & J. Shorish, "Generalized Dynamical Systems," 2022. DOI: 10.57938/e8d456ea-d975-4111-ac41-052ce73cb0cc

See CITATION.cff for BibTeX and other formats.

Credits & Attribution

Author: Rohan MehtaDynamical Systems Group

Theoretical foundation: Dr. Michael Zargham and Dr. Jamsheed ShorishGeneralized Dynamical Systems, Part I: Foundations (2021).

Architectural inspiration: Sean McOwenMSML and bdp-lib.

Contributors:

  • Michael Zargham — Project direction, GDS theory guidance, and technical review (Dynamical Systems Group).
  • Peter Hacker — Code auditing and review (Dynamical Systems Group).

Lineage: Part of the cadCAD ecosystem for Complex Adaptive Dynamics.

License

Apache-2.0 — see LICENSE.