Contract-first relational entropy atlas engine for stochastic thermodynamics & open quantum systems
Project description
Entropy Table
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
uvand a unifiedMakefileinterface. - 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
--jsonoutput 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 viapytest.make visualize— Generates a visual Mermaid.js graph of the Atlas indocs/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 --jsonfor 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28dfcd6fcd54d332978f54cdc0cd272b0f77c75f10e22bc30794f9d0fd0213bf
|
|
| MD5 |
27e7d16009601fb93bcc01163268aca9
|
|
| BLAKE2b-256 |
24f812313801dff48a8111083b9637118e0e7d053195a20a4489801d50a82d0d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10f95f0834bcf5dabcbe994dab74ac1db3f37cc4c79341067d25e2467ce12345
|
|
| MD5 |
31e558a1d4688132303971339dad8b5b
|
|
| BLAKE2b-256 |
cf67b5971588ee81f4ff6eaecfb1ae9b9297c21af7ccc675ff23039787daf2ee
|