Skip to main content

Power BI & Microsoft Fabric automation CLI — TMDL/XMLA/REST backends, Python-native BPA governance, DAX testing & lint, PBIR authoring, MCP server, AI measures

Project description

pbi-enterprise-cli

Enterprise-grade Power BI & Microsoft Fabric automation CLI — TMDL/XMLA/REST backends, Python-native BPA governance, DAX testing & lint, PBIR report intelligence, an MCP server for AI agents, and AI-powered measures.

PyPI Python License Downloads codecov

uv tool install pbi-enterprise-cli
pbi doctor                                   # verify setup
pbi --backend file --path . govern check     # governance on your repo's TMDL — any OS
pbi dax lint --fail-on error                 # static DAX analysis
pbi ask "top 10 customers by revenue"        # English → DAX → results

Key differentiators

  • Real artifacts on any OS — the file backend reads TMDL/PBIP folders straight from your repo (pure Python, no .NET): governance, BPA, lint, docs, and semantic diff on ubuntu-latest
  • Live DAX on any OS — the rest backend runs DAX against published datasets via the executeQueries API; xmla gives full read/write on Windows
  • Python-native BPA runner — runs the Best Practice Analyzer BPARules.json format with no .NET; safe AST evaluation with an honest evaluated/skipped tally per run
  • Full Fabric lifecycle — item CRUD (Item Definition API), workspaces, git sync, deployment pipelines, OneLake, capacity ops, jobs, Direct Lake diagnostics
  • Quality platform — DAX lint/format, report lint + unused-field analysis, dbt-style data tests, schema contracts, RLS matrices, drift detection — all CI-gateable with SARIF output
  • AI-agent nativepbi mcp serve exposes everything to Cursor/Copilot/Claude Desktop; 12 bundled Claude Code skills install with pbi connect
  • One-step CI — published GitHub Action + pre-commit hooks; scaffold a full project with pbi init

Six backends, one API

Backend Use for OS
desktop Local Power BI Desktop (.pbip) Windows
xmla Premium / Fabric read-write Windows
file TMDL/PBIP repo artifacts — governance, lint, docs, diff Any
rest Live DAX via executeQueries Any
fabric Live model writes via the Item Definition API (no Windows) Any
mock Unit tests, demos Any

Command surface

model · measure · dax (query/test/lint/format/coverage) · report (authoring + lint/field-usage/diff/a11y) · visual · layout · theme · filter · govern (rules/BPA/plugins/SARIF/tenant scan) · tenant (usage/access/labels) · security · test (data/schema/rls/seed) · partition · deploy · snapshot · env (incl. drift) · diff · fabric (items/workspaces/git/pipelines/onelake/capacity/jobs/directlake) · pquery (M folding/lint) · ops (refresh chains/health) · migrate (direct-lake/pbix/dbt) · docs (dictionary/ERD/site) · mcp · ask · introspect · init · watch · server · skills

Install options

# Recommended
uv tool install pbi-enterprise-cli
uv tool install "pbi-enterprise-cli[all]"   # everything

# Alternative
pipx install pbi-enterprise-cli

# Fallback
pip install pbi-enterprise-cli
Extra Adds
[ai] Claude AI: pbi ask, measure generate, govern explain
[xmla] MSAL auth for XMLA/Fabric + device flow
[sources] SQL / Excel / REST source profiling
[server] FastAPI REST server
[viz] WCAG theme validation

Requirements

  • Python 3.10–3.13
  • Windows for the desktop and xmla backends (.NET AMO, DLLs bundled)
  • Linux/macOS fully supported via the file, rest, and mock backends

Links

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

pbi_enterprise_cli-1.2.0.tar.gz (280.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pbi_enterprise_cli-1.2.0-py3-none-any.whl (321.8 kB view details)

Uploaded Python 3

File details

Details for the file pbi_enterprise_cli-1.2.0.tar.gz.

File metadata

  • Download URL: pbi_enterprise_cli-1.2.0.tar.gz
  • Upload date:
  • Size: 280.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pbi_enterprise_cli-1.2.0.tar.gz
Algorithm Hash digest
SHA256 7bbd227ea292c64a9fab4353c53280b2eb44209d0a0269e197516da88a644230
MD5 7dfb913638fd7ad28008feace9d60226
BLAKE2b-256 49e33888da84407f85c8bd1143351d5834ae2ecc9006a32b91a2851bd07f558f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pbi_enterprise_cli-1.2.0.tar.gz:

Publisher: release.yml on mudassir09/pbi-enterprise-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pbi_enterprise_cli-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pbi_enterprise_cli-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de2746527e9607b0014407e6d37b8f3723af1804da0f4989a795f64a8b9ed924
MD5 3f6a67b382bd75c383bde49c4408cd5f
BLAKE2b-256 3158aa73fa60d5acfa240550cd991975f85a45efde758916486bed72a7e50f86

See more details on using hashes here.

Provenance

The following attestation bundles were made for pbi_enterprise_cli-1.2.0-py3-none-any.whl:

Publisher: release.yml on mudassir09/pbi-enterprise-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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