Seshat BI: agent-first Retail BI readiness checker (static retail check + live retail validate over the medallion warehouse and Power BI conventions).
Project description
Seshat BI
From messy retail data to trusted Power BI -- with evidence at every gate.
An agent-first readiness system that profiles sources, governs mappings, validates the medallion warehouse, binds metrics to contracts, and prepares Power BI delivery without skipping the human decisions that make analytics trustworthy.
Fund open-source work on validation, compatibility, documentation, and agent safety.
Trust is a workflow, not a dashboard theme
A dashboard can look finished while its metrics are undefined, its source assumptions are unsafe, and its totals have never been reconciled. Seshat BI makes those gaps visible before they become executive decisions.
It answers one question:
Is this retail source ready to become trusted Power BI?
The answer is never a made-up score. Readiness is recorded as
status + evidence + blocking_reasons, with named human approvals for judgment
calls such as grain, PII, business rollups, and publish safety.
Named for the ancient Egyptian figure of writing, measurement, and record keeping, Seshat brings the same discipline to modern analytics: map meaning, record evidence, then build.
Seven gates between raw data and publication
Each stage can begin only after the prior stage passes. The sequence is the product.
flowchart LR
S1[1. Source] --> S2[2. Mapping] --> S3[3. Silver] --> S4[4. Gold]
S4 --> S5[5. Semantic Model] --> S6[6. Dashboard] --> S7[7. Publish]
classDef stage fill:#001E35,stroke:#C69214,stroke-width:1.5px,color:#F7F1E7;
class S1,S2,S3,S4,S5,S6,S7 stage;
| Before Seshat allows... | The evidence must show... |
|---|---|
| Silver transformation | Mapping Ready passed and the source map is cleared. |
| Power BI over gold | Live validation passed against the real data boundary. |
| Dashboard design | Metric contracts exist and define business meaning. |
| Power BI execution | Semantic Model Ready and the publish gates passed. |
[!IMPORTANT] Seshat never self-grants an approval, invents source meaning, or turns a green static check into a claim of live semantic correctness.
See it work
Try the bundled synthetic retail fixture. It needs no database and no Power BI Desktop:
pipx install seshat-bi
seshat demo init
seshat demo run
seshat demo report --format html
The self-contained report shows evidence, blockers, approvals, and the next allowed action across all seven stages. Offline proof stops honestly at Gold Ready; advancing farther requires a live database boundary and governed downstream artifacts.
Why teams choose Seshat BI
| Principle | What it changes |
|---|---|
| Evidence over scores | Every pass cites evidence; every block names a concrete reason. |
| Human judgment stays human | Agents surface decisions but cannot approve grain, PII, rollups, or publication. |
| Safe sequencing by construction | The agent reads readiness state and performs only the next allowed action. |
| Power BI consumes governed truth | Reports read gold; measures trace to approved metric contracts. |
This makes Seshat useful to BI developers, analytics engineers, data engineers, analytics leaders, and teams building agents that must stay truthful around real business data.
How it works
flowchart LR
RAW([Retail source]) --> B[(bronze)] --> S[(silver)] --> G[(gold)] --> PBI[Power BI PBIP]
MAP{{Source map}} -. clears .-> S
CHECK{{seshat check}} -. static gates .-> S
CHECK -. static gates .-> G
LIVE{{seshat validate}} -. live boundary .-> G
CONTRACT{{Metric contracts}} -. govern measures .-> PBI
HUMAN([Named human approvals]) -. authorize decisions .-> MAP
HUMAN -. authorize publication .-> PBI
The agent is the interface. seshat check and seshat validate are gates the
agent calls; they are helpers, not the product experience.
Choose your path
| You want to... | Start here |
|---|---|
| Evaluate Seshat in minutes | Run the offline demo |
| Start a new BI workspace | seshat init-project my-bi |
| Adopt an existing PBIP project | seshat adopt-pbip assess --project <path> |
| Operate Seshat through an agent | Agent Mode |
| Make your first contribution | First-contribution path |
What is built today
Seshat BI v0.2.0 is an active beta on PyPI. The shipped system includes:
- Static and live governance gates over SQL, TMDL/PBIR, DAX, configuration, documentation, keys, date coverage, orphan relationships, and reconciliation.
- Seven-stage agent control surfaces through
seshat statusandseshat next, grounded in committed evidence rather than a separate run-state engine. - Governed source mapping and metric contracts that stop transformation or dashboard work when business meaning is unresolved.
- DAX governance and generation through static rules, contract-drift checks, live value proxies, and verified measure generation.
- Portable proof surfaces including offline HTML, review JSON, SARIF, a GitHub Action, readiness passports, and an offline portfolio explorer.
- A read-only MCP governor that exposes governance state while refusing execution and approval by construction.
- Governed extension packs plus optional dbt and Dagster adapters that remain advisory and never create readiness truth.
- Source-controlled Power BI workflows with deterministic PBIR authoring helpers and a read-only assessment path for existing PBIP projects.
Explore the capability inventory, release notes, and roadmap for the evidence behind each claim.
[!WARNING] The Power BI execution adapter is deliberately deferred and gated. Building the final approved page in Power BI Desktop remains a named human action. Neither is presented as an available automated capability.
Install
Python CLI
pipx install seshat-bi
seshat init-project my-bi
The seshat command is primary. retail is a deprecated compatibility alias kept
for one deprecation cycle. Live database validation needs the optional db extra
and a DSN stored only in a gitignored .env.
Claude Code plugin
/plugin marketplace add Kemetra/Seshat-BI
/plugin install seshat-bi@seshat-bi-marketplace
Codex plugin
codex plugin marketplace add https://github.com/Kemetra/Seshat-BI
codex plugin add seshat-bi@seshat-bi-repository
Detailed setup: user install | agent install | support matrix
Contributing
You do not need to learn the whole readiness system before making a useful first contribution. Seshat provides bounded lanes with owned files, forbidden scope, acceptance evidence, and exact verification commands.
| Starter lane | A useful contribution |
|---|---|
| KPI contract templates | Clarify reusable business definitions without inventing policy. |
| Synthetic fixtures | Add realistic, disclosure-safe test cases. |
| Dialect notes | Document compatibility behavior across supported databases. |
| Accessibility checks | Improve dashboard and documentation usability. |
| Blocker explanations | Make governance findings clearer and more actionable. |
- Read the first-contribution guide.
- Pick one lane from contribution-lanes.yaml.
- Claim a starter contribution.
- Follow the setup and pull-request checks in CONTRIBUTING.md.
Contributions are especially welcome in governance rules, database compatibility, synthetic fixtures, documentation, Power BI artifacts, and agent workflows.
Sponsor Seshat BI
Trusted BI infrastructure is public-interest work: the rules, examples, tests, and documentation should remain inspectable by the teams that depend on them. Sponsorship can accelerate public, evidence-backed roadmap lanes such as:
- database compatibility and live-validation evidence,
- reproducible demo fixtures and cross-engine coverage,
- documentation, onboarding, accessibility, and contributor support,
- agent-safety research around analytics approvals and disclosure boundaries.
The guardrail is simple: funding supports the work; it never buys a readiness approval, a rule exception, or an undisclosed product claim.
Sponsor Seshat BI through GitHub Sponsors · Discuss a public roadmap sponsorship
For organization-level sponsorships or roadmap discussions, use the issue link only for non-confidential context. Do not post procurement, client, or payment information in a public issue.
Repository guide
Where the system lives
| Path | Responsibility |
|---|---|
AGENTS.md |
Short operating contract and hard stops for agents. |
.specify/ |
Constitution and feature specifications. |
src/seshat/ |
CLI, governance rules, validation, and agent-facing surfaces. |
mappings/ |
Per-table profiles, source maps, decisions, metrics, and readiness. |
warehouse/ |
Tool-agnostic bronze, silver, and gold SQL artifacts. |
powerbi/ |
Source-controlled PBIP semantic models and reports. |
templates/ |
Generic readiness, mapping, metric, dashboard, and handoff blanks. |
skills/ |
Canonical BI reasoning and workflow knowledge. |
docs/ |
Architecture, readiness, operations, guides, and worked examples. |
tests/ |
Unit, integration, contract, and optional live-database evidence. |
Essential documentation
| Topic | Guide |
|---|---|
| Readiness model | The seven-stage spine |
| Architecture | Readiness pipeline |
| Agent operation | Agent Mode |
| Existing PBIP adoption | Read-only adoption workflow |
| Governance vocabulary | Glossary and rule catalog |
| Frequently asked questions | FAQ |
| Product direction | Roadmap |
| Release history | Changelog |
| Brand system | Visual identity |
Deliberate boundaries
Seshat BI is a governed Retail BI factory, not a one-click dashboard generator, a Fabric deployment platform, a universal ERP connector, or an automated approval engine. New automation is valuable only when it strengthens one readiness stage without taking a decision away from its accountable human owner.
License
Seshat BI is available under the Apache License 2.0.
Governed knowledge. Measured structure. Trusted BI.
Seshat BI -- built in public for analytics people who would rather stop a bad number than decorate it.
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 seshat_bi-0.4.1.tar.gz.
File metadata
- Download URL: seshat_bi-0.4.1.tar.gz
- Upload date:
- Size: 566.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da4046a4890ebf009dbab346c233c8bda115df8c14489f3135c0dbab4c2301bc
|
|
| MD5 |
20eb36099999a0b2cfb00ef80ae06cc4
|
|
| BLAKE2b-256 |
423ef2f51f15fb1f5533b05824c56f0abd05b0dcb31ac61c8d5f8adf29322a78
|
Provenance
The following attestation bundles were made for seshat_bi-0.4.1.tar.gz:
Publisher:
release.yml on Kemetra/Seshat-BI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seshat_bi-0.4.1.tar.gz -
Subject digest:
da4046a4890ebf009dbab346c233c8bda115df8c14489f3135c0dbab4c2301bc - Sigstore transparency entry: 2191847663
- Sigstore integration time:
-
Permalink:
Kemetra/Seshat-BI@b17fc0a0205dbde7a96f253e8c98998eee1a4c09 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/Kemetra
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b17fc0a0205dbde7a96f253e8c98998eee1a4c09 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file seshat_bi-0.4.1-py3-none-any.whl.
File metadata
- Download URL: seshat_bi-0.4.1-py3-none-any.whl
- Upload date:
- Size: 713.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab4dd515939c036dc997892f8201813da48df6fd8a44221ddfae1f49056dbbb8
|
|
| MD5 |
caecfad8ed60814f488b98bd711733fe
|
|
| BLAKE2b-256 |
a693fc319a88f957e1f78ee62e62b824ddf47105b48aa000cb040cb5cf47eccf
|
Provenance
The following attestation bundles were made for seshat_bi-0.4.1-py3-none-any.whl:
Publisher:
release.yml on Kemetra/Seshat-BI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seshat_bi-0.4.1-py3-none-any.whl -
Subject digest:
ab4dd515939c036dc997892f8201813da48df6fd8a44221ddfae1f49056dbbb8 - Sigstore transparency entry: 2191847671
- Sigstore integration time:
-
Permalink:
Kemetra/Seshat-BI@b17fc0a0205dbde7a96f253e8c98998eee1a4c09 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/Kemetra
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b17fc0a0205dbde7a96f253e8c98998eee1a4c09 -
Trigger Event:
workflow_dispatch
-
Statement type: