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 — the only Python implementation of Best Practice Analyzer; same ruleset as Tabular Editor
  • 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; 10 bundled Claude Code skills install with pbi connect
  • One-step CI — published GitHub Action + pre-commit hooks; scaffold a full project with pbi init

Five 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
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.1.1.tar.gz (154.6 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.1.1-py3-none-any.whl (182.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pbi_enterprise_cli-1.1.1.tar.gz
  • Upload date:
  • Size: 154.6 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.1.1.tar.gz
Algorithm Hash digest
SHA256 97eacc0c5f2d477854e5fc6be337d81878831d768fcfc42e9def7dba7acc0dda
MD5 cccdbc1489abd1fc2d907d37203c4b9f
BLAKE2b-256 7715a3710bd2e65cfd4eed80540c8fcac04c830a8ba0c941904473c0e9135840

See more details on using hashes here.

Provenance

The following attestation bundles were made for pbi_enterprise_cli-1.1.1.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.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pbi_enterprise_cli-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c096ba5017e0489b801e6c44b174ccc2ef0e8d76d33e18efa3a0e42389dae2b
MD5 cc4867e6956074c7fea6f34db7ce5a35
BLAKE2b-256 5442751dcbf7a3430926a104261d866b0995e4c39d034c3b510bc495b9a3f9d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pbi_enterprise_cli-1.1.1-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