Metadata-Version: 2.4
Name: powerbihelper
Version: 0.2.0
Summary: AI-powered Power BI report generator — chat with Ollama or Claude to build reports, test visuals, and analyze data
License: MIT
Project-URL: Homepage, https://github.com/powerbihelper/powerbihelper
Project-URL: Documentation, https://github.com/powerbihelper/powerbihelper#readme
Project-URL: Issues, https://github.com/powerbihelper/powerbihelper/issues
Keywords: powerbi,pbip,pbir,tmdl,dax,report-generator,ollama,ai
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Office/Business
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0
Requires-Dist: pydantic>=2.0
Requires-Dist: pandas>=2.0
Requires-Dist: rich>=13.0
Requires-Dist: httpx>=0.27
Requires-Dist: fastapi>=0.110
Requires-Dist: uvicorn>=0.27
Requires-Dist: websockets>=12.0
Requires-Dist: Pillow>=10.0
Requires-Dist: imagehash>=4.3
Requires-Dist: junit-xml>=1.9
Provides-Extra: mcp
Requires-Dist: mcp>=1.0; extra == "mcp"
Provides-Extra: testing
Requires-Dist: playwright>=1.40; extra == "testing"
Provides-Extra: ssas
Requires-Dist: pyadomd>=0.2; extra == "ssas"
Provides-Extra: all
Requires-Dist: powerbihelper[mcp,ssas,testing]; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Dynamic: license-file

# powerbihelper

AI-powered Power BI report generator. Chat with Ollama or Claude to build reports, test visuals, and analyze data.

## Install

```bash
pip install powerbihelper
```

## Quick Start

```bash
powerbihelper              # opens browser chat UI
```

Configure your LLM (Ollama or Claude) in the sidebar, then chat:

- "Build a monthly sales dashboard with 4 KPI cards and trend charts"
- "Create an airline reliability report with PIREP analysis by ATA chapter"
- "Validate the report project at ./MyProject"

## Features

- **Browser Chat UI** — talk to Ollama/Claude to build Power BI reports
- **PBIP Project Generator** — create complete projects from scratch (no Desktop needed)
- **PBIR/TMDL Library** — read, write, validate report and model files
- **Visual Testing** — headless Playwright-based testing with regression detection
- **DAX Execution** — query live Power BI Desktop models
- **MCP Server** — integrate with Claude Code (13 tools)
- **Data Quality** — null rates, duplicates, referential integrity checks
- **Model Documentation** — auto-generate data dictionary and measure catalog

## CLI Commands

```bash
powerbihelper                    # browser chat UI (default)
powerbihelper ui                 # same as above
powerbihelper agent              # terminal chat with Ollama
powerbihelper generate "prompt"  # one-shot report generation
powerbihelper serve              # MCP server for Claude Code
powerbihelper dax "EVALUATE X"   # run DAX query
powerbihelper pbir read ./proj   # parse PBIP project
powerbihelper pbir validate .    # validate structure
powerbihelper tmdl ./model.tmdl  # parse TMDL file
powerbihelper test --visual x.js # headless visual testing
powerbihelper cdp status         # check Desktop CDP bridge
```

## Use with Claude Code

Add to `~/.claude/settings.json`:

```json
{
  "mcpServers": {
    "powerbihelper": {
      "command": "powerbihelper",
      "args": ["serve"]
    }
  }
}
```

## Use with Ollama

```bash
ollama pull gemma4
powerbihelper agent --model gemma4
```

## Optional Extras

```bash
pip install powerbihelper[mcp]      # Claude Code MCP server
pip install powerbihelper[testing]  # Playwright visual testing
pip install powerbihelper[all]      # everything
```

## License

MIT
