Skip to content

[codex] Add Power BI metadata connector#14

Draft
abhijeethp wants to merge 7 commits into
mainfrom
codex/add-metadata-connectors
Draft

[codex] Add Power BI metadata connector#14
abhijeethp wants to merge 7 commits into
mainfrom
codex/add-metadata-connectors

Conversation

@abhijeethp
Copy link
Copy Markdown
Collaborator

@abhijeethp abhijeethp commented Jun 2, 2026

Summary

  • add a Power BI / Fabric scanner export connector that writes AGENTS.POWERBI_* tables
  • implement Power BI as a normal source module (powerbi.py) following the existing dbt/LookML/OSI connector pattern
  • add Power BI provider discovery rows in AGENTS.ROOT and expose agents-schema powerbi --metadata-path
  • add first-class Power BI packaging: composite action, reusable workflow, setup guide, and example workflow
  • add DuckDB as a local validation destination so real scanner exports can be tested without Snowflake
  • keep existing dbt, Looker, and OSI connectors unchanged; non-PowerBI connector experiments were removed from the PR scope

Validation

  • uv run python -m unittest discover -s tests
  • uv run python -m compileall -q src tests
  • uv run agents-schema --help
  • uv run agents-schema powerbi --help
  • Power BI fixture -> agents-schema powerbi --metadata-path ... -> DuckDB smoke test with row-count verification for agents.root and all agents.powerbi_* tables

Testing real Power BI exports

Set WAREHOUSE_CREDENTIALS to a local DuckDB file and run the connector against a Fabric / Power BI scanner scanResult JSON:

export WAREHOUSE_CREDENTIALS='{"type":"duckdb","path":"tmp/agents-schema.duckdb"}'
uv run agents-schema powerbi --metadata-path tmp/powerbi-scan-result.json

@abhijeethp abhijeethp changed the title [codex] Add metadata export connectors [codex] Add Power BI metadata connector Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant