Developer-first model inventory and governance framework for SR 11-7, EU AI Act, and NIST AI RMF compliance
Project description
model-ledger
git for models — know what models you have deployed, where they run, what they depend on, and what changed.
📖 Documentation · Quickstart · Concepts · Governance
model-ledger is a model inventory for any organization with deployed models. It discovers models, heuristic rules, and ETL across your platforms, maps the dependency graph automatically, and records every change as an immutable event. Unlike registries tied to a single platform (MLflow, SageMaker, W&B), it spans all of them — as one connected graph — and it's built to be driven by AI agents through a native MCP server.
Install
pip install model-ledger
The graph builds itself
Every model is a DataNode with typed input and output ports. When an output port name
matches an input port name, connect() creates the dependency edge — no hand-wiring.
from model_ledger import Ledger, DataNode
ledger = Ledger()
ledger.add([
DataNode("segmentation", platform="etl", outputs=["customer_segments"]),
DataNode("fraud_scorer", platform="ml", inputs=["customer_segments"], outputs=["risk_scores"]),
DataNode("fraud_alerts", platform="alerting", inputs=["risk_scores"]),
])
ledger.connect()
ledger.trace("fraud_alerts")
# ['segmentation', 'fraud_scorer', 'fraud_alerts']
Every mutation is recorded as an immutable Snapshot — an append-only event log that gives you full history and point-in-time reconstruction, because nothing is overwritten.
Talk to your inventory
The MCP server is a first-class surface — point Claude (or any MCP agent) at it:
pip install "model-ledger[mcp]"
claude mcp add model-ledger -- model-ledger mcp --demo
You: if we deprecate
customer_features, what breaks?Claude: 3 models consume it directly, 2 more transitively.
Documentation
Everything lives at block.github.io/model-ledger — and it can't drift, because the API reference is generated from source and every example runs in CI:
- Quickstart — install to your first dependency trace in 60 seconds
- Concepts — DataNode, Snapshot, and Composite, in three ideas
- Agents (MCP) — the eight-tool agent surface, with a worked transcript
- Connectors — discover from SQL, REST, GitHub, or your own platform
- Backends — in-memory, SQLite, JSON, Snowflake, or remote HTTP
- Governance — how the primitives map to SR 26‑2, the EU AI Act, and NIST
- API reference — generated from the source
For organizations
The OSS core handles discovery, graph building, change tracking, storage, and the agent protocol. Your internal package provides the thin layer on top — connector configs, custom connectors for internal platforms, authentication, and compliance profiles. Thin config and credentials, not reimplemented logic.
Contributing
See CONTRIBUTING.md. All commits require DCO sign-off.
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
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 model_ledger-0.7.4.tar.gz.
File metadata
- Download URL: model_ledger-0.7.4.tar.gz
- Upload date:
- Size: 253.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e888bb1f98d125f9f9abf37eb73ecc69f9417b807485c04a7bcd132d77fa8fc
|
|
| MD5 |
77816927b36c8f990ea8da3780cbe5b0
|
|
| BLAKE2b-256 |
8f82cd5ca061a1c8e056a7848071dd4275b822bf8b6243ef1b4101b4ed8addb3
|
Provenance
The following attestation bundles were made for model_ledger-0.7.4.tar.gz:
Publisher:
release.yml on block/model-ledger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
model_ledger-0.7.4.tar.gz -
Subject digest:
4e888bb1f98d125f9f9abf37eb73ecc69f9417b807485c04a7bcd132d77fa8fc - Sigstore transparency entry: 1781747097
- Sigstore integration time:
-
Permalink:
block/model-ledger@8c30cfaa9af4c39e8c62248115e8560233296b29 -
Branch / Tag:
refs/tags/v0.7.4 - Owner: https://github.com/block
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8c30cfaa9af4c39e8c62248115e8560233296b29 -
Trigger Event:
release
-
Statement type:
File details
Details for the file model_ledger-0.7.4-py3-none-any.whl.
File metadata
- Download URL: model_ledger-0.7.4-py3-none-any.whl
- Upload date:
- Size: 117.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57ecf6e0b3aea2666bef3e178007b7d0676a274b4d5f165a9e6214ee1530a70f
|
|
| MD5 |
d2e14562afb05deaab9fdbce8e8f441c
|
|
| BLAKE2b-256 |
3fb44779fa746cdf32f262f24d8044b13d292e34d73ce4e7c9d98109a6053c1f
|
Provenance
The following attestation bundles were made for model_ledger-0.7.4-py3-none-any.whl:
Publisher:
release.yml on block/model-ledger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
model_ledger-0.7.4-py3-none-any.whl -
Subject digest:
57ecf6e0b3aea2666bef3e178007b7d0676a274b4d5f165a9e6214ee1530a70f - Sigstore transparency entry: 1781747222
- Sigstore integration time:
-
Permalink:
block/model-ledger@8c30cfaa9af4c39e8c62248115e8560233296b29 -
Branch / Tag:
refs/tags/v0.7.4 - Owner: https://github.com/block
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8c30cfaa9af4c39e8c62248115e8560233296b29 -
Trigger Event:
release
-
Statement type: