Skip to main content

Analytics Release Gate

Catch analytics-engineering defects before they become release defects.

Analytics Release Gate is an open-source CLI for auditing analytics and Power BI repositories. It focuses on release readiness that is easy to miss in manual review: repository hygiene, PBIP/PBIR/TMDL integrity, risky DAX literals, machine-specific paths, documentation links, security signals and reproducibility controls.

Status: v0.1 is an alpha foundation. Rules are intentionally conservative and every heuristic is documented. The tool does not claim to prove analytical truth, business correctness or Power BI Desktop runtime validity.

Quick start

pip install -e .
argate audit .

Machine-readable output:

argate audit . --format json --output release-gate.json

Current rules

Rule Purpose Default result
REP001 README exists FAIL if missing
REP002 License exists WARNING if missing
REP003 Tests detected WARNING if missing
REP004 GitHub Actions workflow detected WARNING if missing
PBI001 PBIP manifest parses FAIL on invalid manifest
PBI002 PBIR JSON parses FAIL on invalid JSON
PBI003 TMDL semantic model present for PBIP FAIL if missing
PBI004 No machine-specific absolute paths FAIL on match
DAX001 Suspicious hard-coded comparator heuristic WARNING
DAX002 TMDL measure descriptions WARNING
SEC001 High-confidence credential patterns FAIL
SEC002 User home paths in tracked text WARNING
DOC001 Local Markdown links resolve WARNING
BLD001 Build/config entry point exists WARNING
BLD002 Generated-output drift MANUAL in v0.1

See docs/rules.md for semantics, limitations and examples.

Configuration

Rules can be excluded in pyproject.toml:

[tool.analytics-release-gate]
exclude = ["DAX002"]

Rule suppression is explicit by ID so exceptions remain reviewable. See docs/configuration.md.

Exit codes

Code Meaning
0 Audit completed with no FAIL findings
1 One or more release-blocking FAIL findings
2 Invalid path or configuration/input error
3 Internal tool failure

What this tool does not do

Analytics Release Gate does not:

  • prove that a business metric is factually correct;
  • replace source/provenance review;
  • execute arbitrary repository build commands in v0.1;
  • claim that a PBIP project opens successfully in Power BI Desktop;
  • replace secret-management or full static-analysis products.

These boundaries are deliberate. A green gate means the supported checks passed, not that the analytics product is universally correct.

Development

python -m venv .venv
# activate the environment
pip install -e ".[dev]"
pytest
ruff check .
mypy src

See CONTRIBUTING.md for the contributor workflow.

Roadmap

  • v0.1: core CLI and first release rules
  • v0.2: deeper DAX and semantic-model validation
  • v0.3: configurable severity and richer suppression metadata
  • v0.4: GitHub Actions annotations and Markdown reporting improvements
  • v0.5: SARIF output
  • v0.6: deterministic-build framework
  • v0.7: plugin architecture
  • v0.8+: governance rules informed by external users

License

MIT. See LICENSE.

Metadata

Release files for analytics-release-gate 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for analytics-release-gate 0.1.0
File Size Uploaded
analytics_release_gate-0.1.0.tar.gz 14.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for analytics-release-gate 0.1.0
File Interpreter ABI Platform
analytics_release_gate-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 34.8 kB

Release files / analytics_release_gate-0.1.0.tar.gz

Download URL analytics_release_gate-0.1.0.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
fd9b42c9edb760bb48914bbab8144d61960614aa8a634a62cd21dc8bc840205d
BLAKE2b-256 checksum
How to use checksums
de336c9d46c1481e45983426f922cc690ab4869bbe6ec2ecb252109d48c9d533
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release files / analytics_release_gate-0.1.0-py3-none-any.whl

Download URL analytics_release_gate-0.1.0-py3-none-any.whl
Size 20.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d9b444aafc429f3d74e4a721fee5efa3ac42699b445c91f70130e0e4df3ec391
BLAKE2b-256 checksum
How to use checksums
9e80535c130947a7efaa8ddcbe1837da8d6689cb1e689be5d673d1a884b82688
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page