Metadata-Version: 2.4
Name: pbi-enterprise-cli
Version: 1.0.1
Summary: Full-stack Power BI automation CLI — XMLA/Fabric connectivity, Python-native BPA governance, semantic model management, DAX testing, PBIR authoring, and AI-powered measures
Author-email: Mudassir <mir.mudassir1@gmail.com>
Maintainer-email: Mudassir <mir.mudassir1@gmail.com>
License: MIT AND LicenseRef-Microsoft-AS-Client-Libraries
Project-URL: Homepage, https://github.com/mudassir09/pbi-enterprise-cli
Project-URL: Repository, https://github.com/mudassir09/pbi-enterprise-cli
Project-URL: Documentation, https://github.com/mudassir09/pbi-enterprise-cli#readme
Project-URL: Changelog, https://github.com/mudassir09/pbi-enterprise-cli/blob/main/CHANGELOG.md
Project-URL: Bug Tracker, https://github.com/mudassir09/pbi-enterprise-cli/issues
Project-URL: Security Policy, https://github.com/mudassir09/pbi-enterprise-cli/blob/main/SECURITY.md
Keywords: power-bi,cli,dax,tmdl,pbir,powerbi,pbip,xmla,fabric
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Systems Administration
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.1
Requires-Dist: rich>=13.0
Requires-Dist: pythonnet>=3.0
Requires-Dist: pydantic>=2.0
Requires-Dist: python-dotenv>=1.0
Provides-Extra: ai
Requires-Dist: anthropic>=0.105.2; extra == "ai"
Provides-Extra: viz
Requires-Dist: Pillow>=10.0; extra == "viz"
Requires-Dist: wcag-contrast-ratio>=0.9; extra == "viz"
Requires-Dist: playwright>=1.44; extra == "viz"
Provides-Extra: xmla
Requires-Dist: msal>=1.28; extra == "xmla"
Provides-Extra: server
Requires-Dist: fastapi>=0.136.3; extra == "server"
Requires-Dist: uvicorn>=0.48.0; extra == "server"
Provides-Extra: sources
Requires-Dist: sqlalchemy>=2.0; extra == "sources"
Requires-Dist: openpyxl>=3.1.5; extra == "sources"
Requires-Dist: httpx>=0.27; extra == "sources"
Provides-Extra: dev
Requires-Dist: pytest>=9.0.3; extra == "dev"
Requires-Dist: pytest-cov>=7.1.0; extra == "dev"
Requires-Dist: ruff>=0.15.15; extra == "dev"
Requires-Dist: mypy>=2.1.0; extra == "dev"
Requires-Dist: pyyaml>=6.0; extra == "dev"
Provides-Extra: all
Requires-Dist: pbi-enterprise-cli[ai,dev,server,sources,viz,xmla]; extra == "all"
Dynamic: license-file

# pbi-enterprise-cli

**Enterprise-grade Power BI automation CLI — XMLA/Fabric connectivity without Desktop, Python-native BPA governance, and AI-powered measures.**

[![PyPI](https://img.shields.io/pypi/v/pbi-enterprise-cli)](https://pypi.org/project/pbi-enterprise-cli/)
[![Python](https://img.shields.io/pypi/pyversions/pbi-enterprise-cli)](https://pypi.org/project/pbi-enterprise-cli/)
[![License](https://img.shields.io/github/license/mudassir09/pbi-enterprise-cli)](https://github.com/mudassir09/pbi-enterprise-cli/blob/main/LICENSE)
[![Downloads](https://img.shields.io/pypi/dm/pbi-enterprise-cli)](https://pypi.org/project/pbi-enterprise-cli/)

```bash
uv tool install pbi-enterprise-cli
pbi doctor          # verify setup
pbi model tables    # list tables in the connected model
pbi govern check    # run governance rules (exit 3 on violations)
```

## Key differentiators

- **XMLA/Fabric backend** — connect to Power BI Premium or Microsoft Fabric without Desktop
- **Python-native BPA runner** — the only Python implementation of Best Practice Analyzer rules
- **Three backends** — Desktop (TOM via pythonnet), XMLA (Premium/Fabric), Mock (CI/CD with zero infrastructure)
- **AMO DLLs bundled** — works after `pip install` without a separate Desktop installation
- **Governance engine** — built-in rules + BPA + custom plugin system, `--fail-on` CI gate
- **10 Claude Code skills** — install with `pbi skills install --all`
- **CI-ready mock backend** — 500+ unit tests run without real Power BI infrastructure

## Install options

```bash
# 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

# With specific extras
uv tool install "pbi-enterprise-cli[ai,xmla]"     # Claude AI + XMLA/Fabric
uv tool install "pbi-enterprise-cli[sources]"     # SQL/Excel/REST profiling
uv tool install "pbi-enterprise-cli[server]"      # FastAPI REST server
```

## Requirements

- Python 3.10+
- Windows (for Desktop/XMLA backends using .NET AMO)
- Power BI Desktop (for the `desktop` backend)

## Links

- [GitHub Repository](https://github.com/mudassir09/pbi-enterprise-cli)
- [Full Documentation](https://github.com/mudassir09/pbi-enterprise-cli#readme)
- [XMLA Auth Guide](https://github.com/mudassir09/pbi-enterprise-cli/blob/main/docs/auth/xmla-auth.md)
- [Deployment Guide](https://github.com/mudassir09/pbi-enterprise-cli/blob/main/docs/deployment.md)
- [Stability Policy](https://github.com/mudassir09/pbi-enterprise-cli/blob/main/STABILITY.md)
- [Changelog](https://github.com/mudassir09/pbi-enterprise-cli/blob/main/CHANGELOG.md)
- [Security Policy](https://github.com/mudassir09/pbi-enterprise-cli/blob/main/SECURITY.md)
