GDS ecosystem monorepo — typed compositional specifications for complex systems
Project description
gds-core
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 | Core engine — blocks, composition algebra, compiler, verification | |
| gds-viz | Mermaid diagram renderers for GDS specifications | |
| gds-games | Typed DSL for compositional game theory (Open Games) | |
| gds-examples | 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 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.
License
Apache-2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
435d14524d90150cf5d6753d77b403614bfe9ff43f6bd00b24c8ab2a367a094d
|
|
| MD5 |
3a8e8a5ecfe1f9049796869e89cac8a1
|
|
| BLAKE2b-256 |
b3ba3ecce5471026d8e3d74ba4ac2b63d04aff0ee3aa4666cae5ca575c825929
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48c4f2f4d96bfbb21cb34e449d47a801c9edfd246e2c01f854df2b700ef7af7c
|
|
| MD5 |
55611d798fe979da46cc1eaec600d293
|
|
| BLAKE2b-256 |
67d22e2e9a04dc20e931c871c07eaf41930bb0c8eb9dce917a9c433735fe2841
|