Skip to main content

Contract-first relational entropy atlas engine for stochastic thermodynamics & open quantum systems

Project description

Entropy Table

CI Docs PyPI License: MIT Release

A contract-first scientific data atlas for stochastic thermodynamics, Markov networks, and open quantum systems — now at v1.0.0, its first stable, production-ready release.

This project manages structured YAML representations of physical systems, their thermodynamic entropy production rates, and the mathematical relations between them. It is built on strict schema validation, falsifiability, and reproducible CI/CD pipelines.

Key Features

  • Contract-First Data: Physical domains and relations are defined in YAML and validated against strict JSON schemas (domain.schema.json, relation.schema.json).
  • Broad Physics Scope: Covers Continuous-Time Markov Chains (CTMC), Langevin dynamics (overdamped/underdamped, isothermal/non-isothermal), Biochemical Master Equations (CME), and Quantum Lindblad (GKSL) equations.
  • Reproducible Toolchain: Fast, deterministic dependency management via uv and a unified Makefile interface.
  • Knowledge Graph: Automatic generation of Mermaid.js and Graphviz DOT graphs visualizing the composition and approximation limits of the physical systems.
  • Composition Integrity Validation: Enforces that physical exchange channels cannot silently disappear when subsystems are grouped into a supersystem — via explicit absorption filters or strict transitive inheritance checks.
  • Machine-Readable API: All validation tools provide a structured --json output for easy integration into web frontends or automated reporting.
  • Full Typer CLI: entropy-table validate-all, scaffold, visualize, health, metrics, render.
  • Beautiful Documentation: MkDocs Material website with live GitHub Pages deployment.

Installation

pip install entropy-table
# or with optional SymPy math validator:
pip install "entropy-table[math]"

Quickstart

We use uv for lightning-fast, reproducible dependency management.

git clone https://github.com/GenesisAeon/entropy-table.git
cd entropy-table
uv sync --extra dev --extra docs
uv run entropy-table --help
uv run mkdocs serve          # live website at http://127.0.0.1:8000

Documentation

https://GenesisAeon.github.io/entropy-table/

Tooling & Commands

CLI (recommended)

uv run entropy-table validate-all          # full validation
uv run entropy-table scaffold domain ...   # new domain scaffold
uv run entropy-table visualize             # regenerate Atlas graph
uv run entropy-table health --ci-check     # CI health check
uv run entropy-table metrics --format markdown

Makefile (backward compatible)

  • make validate — Runs the strict JSON schema validation for all domains and relations.
  • make validate-all — Validates schemas, claims, composition integrity, and bibliographical cross-references.
  • make test — Runs the comprehensive test suite via pytest.
  • make visualize — Generates a visual Mermaid.js graph of the Atlas in docs/atlas_graph.mmd.
  • make health — Checks for orphaned domains and unfalsifiable claims.
  • make render — Renders the atlas contents to Markdown and LaTeX formats.
  • make docs — Start local MkDocs dev server.
  • make docs-build — Build static documentation site.
  • make docs-deploy — Deploy documentation to GitHub Pages.

Advanced users or integrations can invoke the underlying Python tools directly, e.g., python tools/validate.py --json for structured error reporting.

Repository Structure

atlas/
  domains/    # Definitions of physical systems (e.g., quantum-lindblad.yaml)
  relations/  # Mappings between domains (coarse_graining, approximation_limit, …)
  claims/     # Falsifiable scientific claims linked to specific domains
  schema/     # JSON schemas enforcing the contract-first architecture
src/
  entropy_table/   # Python package + Typer CLI
tools/        # Legacy Python toolchain: validation, metrics, visualization, rendering
docs/         # MkDocs documentation source
tests/        # pytest test suite

Contributing

See CONTRIBUTING.md and docs/contribution.md.

Citation

If you use entropy-table in your research, please cite the Zenodo record:

DOI

DOI will be assigned automatically on the first GitHub Release once Zenodo–GitHub integration is enabled for this repo at https://zenodo.org/account/settings/github/

License

This project is licensed under the MIT License. See LICENSE for details.

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

entropy_table-2.0.0.tar.gz (211.6 kB view details)

Uploaded Source

Built Distribution

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

entropy_table-2.0.0-py3-none-any.whl (64.1 kB view details)

Uploaded Python 3

File details

Details for the file entropy_table-2.0.0.tar.gz.

File metadata

  • Download URL: entropy_table-2.0.0.tar.gz
  • Upload date:
  • Size: 211.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for entropy_table-2.0.0.tar.gz
Algorithm Hash digest
SHA256 1ba98c292d9aca07d56f2b278986bbe3955cb00f3e64e67c3345ad0fcc7498ea
MD5 c29eada8345367c4ab8089395a927464
BLAKE2b-256 47af2136eecba1fd9af035e45fb19253b49340b1d6b8e7e3ea744b5ed1845b6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for entropy_table-2.0.0.tar.gz:

Publisher: release.yml on GenesisAeon/entropy-table

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file entropy_table-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: entropy_table-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 64.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for entropy_table-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e6535fa141118d49a3288cfc6002a1d4d787c0c70b930c4875efec9fe862390
MD5 84749845e0485fa0b267493fe8a4140d
BLAKE2b-256 353f3de4903de449c73c1bd3d24733717ad40be2938082429a87cdd3246292e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for entropy_table-2.0.0-py3-none-any.whl:

Publisher: release.yml on GenesisAeon/entropy-table

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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