Skip to main content

GDS ecosystem monorepo — typed compositional specifications for complex systems

Project description

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-games PyPI Typed DSL for compositional game theory (Open Games)
gds-examples PyPI Six tutorial models demonstrating every framework feature

Quick Start

# Clone and install all packages (editable, workspace-linked)
git clone https://github.com/BlockScience/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-games/tests packages/gds-examples -v

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

Development

This is a uv workspace monorepo. All four 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 blockscience.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 MehtaBlockScience

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 (BlockScience).
  • Peter Hacker — Code auditing and review (BlockScience).

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

License

Apache-2.0 — see LICENSE.

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

gds_core-0.1.0.tar.gz (328.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gds_core-0.1.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file gds_core-0.1.0.tar.gz.

File metadata

  • Download URL: gds_core-0.1.0.tar.gz
  • Upload date:
  • Size: 328.3 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for gds_core-0.1.0.tar.gz
Algorithm Hash digest
SHA256 435d14524d90150cf5d6753d77b403614bfe9ff43f6bd00b24c8ab2a367a094d
MD5 3a8e8a5ecfe1f9049796869e89cac8a1
BLAKE2b-256 b3ba3ecce5471026d8e3d74ba4ac2b63d04aff0ee3aa4666cae5ca575c825929

See more details on using hashes here.

File details

Details for the file gds_core-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gds_core-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for gds_core-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48c4f2f4d96bfbb21cb34e449d47a801c9edfd246e2c01f854df2b700ef7af7c
MD5 55611d798fe979da46cc1eaec600d293
BLAKE2b-256 67d22e2e9a04dc20e931c871c07eaf41930bb0c8eb9dce917a9c433735fe2841

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