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.0.tar.gz (153.8 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.0-py3-none-any.whl (181.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pbi_enterprise_cli-1.1.0.tar.gz
  • Upload date:
  • Size: 153.8 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.0.tar.gz
Algorithm Hash digest
SHA256 d79e772f0ef4859ae75f10168e13028e5cf185e536675f7595f26dcbc4f89b79
MD5 d0634bed9af7b27ad9cbd732ce971e65
BLAKE2b-256 23d2fa30aece5bf812aef05574e793f16951780d36dfeb39018e97128c064b56

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pbi_enterprise_cli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3e94ec968530a5e2743c6e0f58c2aaff6e279f4876ef130cf12e3ccad206512
MD5 597feea47f6116e5a285ccdccd9d3ca0
BLAKE2b-256 4eb21fc4e4a3f10e05d4b821a51280f8487749479565dcbb85c2d514c255e25a

See more details on using hashes here.

Provenance

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