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.

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-1.0.1.tar.gz (208.9 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-1.0.1-py3-none-any.whl (64.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: entropy_table-1.0.1.tar.gz
  • Upload date:
  • Size: 208.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for entropy_table-1.0.1.tar.gz
Algorithm Hash digest
SHA256 28dfcd6fcd54d332978f54cdc0cd272b0f77c75f10e22bc30794f9d0fd0213bf
MD5 27e7d16009601fb93bcc01163268aca9
BLAKE2b-256 24f812313801dff48a8111083b9637118e0e7d053195a20a4489801d50a82d0d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: entropy_table-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 64.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for entropy_table-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 10f95f0834bcf5dabcbe994dab74ac1db3f37cc4c79341067d25e2467ce12345
MD5 31e558a1d4688132303971339dad8b5b
BLAKE2b-256 cf67b5971588ee81f4ff6eaecfb1ae9b9297c21af7ccc675ff23039787daf2ee

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