airflow-powerbi-plugin
Airflow PowerBI plugin
What it is and what it does
This is an Apache Airflow plugin that adds a custom operator for triggering and monitoring Power BI dataset refreshes. It integrates Service Principal authentication to connect to Power BI workspaces and can check for existing refreshes before starting a new one, avoiding duplicate refresh requests. The operator supports both synchronous (wait for completion) and asynchronous (fire-and-forget) modes, with configurable polling intervals and timeouts.
The plugin enriches Airflow's XCom with refresh metadata—including refresh ID, status, end time, and error details—so downstream tasks can react to refresh outcomes. It also provides a direct link to the Power BI UI for monitoring. Setup requires storing your Service Principal credentials in an Airflow Generic connection and configuring the plugin in your Airflow plugins folder.
Use it for:
- Trigger Power BI dataset refreshes on a schedule as part of a larger Airflow data pipeline.
- Wait for a dataset refresh to complete before running downstream analytics or reporting tasks.
- Monitor refresh status and error details in Airflow logs and XCom for alerting or retry logic.
- Integrate Power BI refresh into multi-step ETL workflows alongside other data processing tasks.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
An Apache Airflow plugin that triggers Power BI dataset refreshes via Service Principal authentication and monitors their status within Airflow workflows.
Yes, if you need to orchestrate Power BI refreshes within Airflow and can accept the risks of dormant maintenance. The plugin is straightforward to install and has no external runtime dependencies. However, verify license terms before production use, and be aware that the package is in Alpha status with no active maintenance—test thoroughly with your Airflow and Power BI versions before relying on it in production.
Install
airflow-powerbi-plugin on PyPI
pip
pip install airflow-powerbi-pluginuv
uv add airflow-powerbi-pluginpoetry
poetry add airflow-powerbi-pluginInstalling airflow-powerbi-plugin
Before you install
Low install friction with no runtime dependencies. Maintenance is dormant—last release was 696 days ago and the repository shows minimal activity, so expect no active support or updates for issues.
License in practice
License is unclear; the package declares no SPDX identifier or raw license text. Before production use, verify the actual license terms by checking the repository directly.
Quickstart
pip install airflow-powerbi-plugin
from airflow_powerbi_plugin.operators.powerbi import PowerBIDatasetRefreshOperator
refresh_task = PowerBIDatasetRefreshOperator(
task_id="refresh_dataset",
powerbi_conn_id="powerbi_default",
dataset_id="<dataset_id>",
group_id="<workspace_id>"
)
Requires Python >=3.8 and an Apache Airflow installation. Requires a Power BI Service Principal configured as a Contributor in your workspace and stored as a Generic connection in Airflow.
Verify before relying
- Whether the plugin is compatible with current Airflow versions (last release was 696 days ago).
- Whether SPN authentication still works with current Power BI API versions.
- Production readiness and stability given the Alpha development status and dormant maintenance.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 696 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 336,631/month — #7,459 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: airflow_powerbi_plugin-1.0.1-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
apache-airflow-microsoft-fabric-pluginEnables Apache Airflow DAGs to trigger…
unclear · top 5,000 on PyPI
apache-airflow-providers-microsoft-fabricProvides Apache Airflow operators to trigger,…
unclear · top 5,000 on PyPI
airflow-provider-hightouchProvides Airflow operators and hooks to trigger…
permissive · top 15,000 on PyPI
apache-airflow-coreApache Airflow's core runtime that schedules,…
permissive · top 5,000 on PyPI
airflow-mcdIntegrates Monte Carlo data observability into…
permissive · top 15,000 on PyPI
pbixrayParse and extract metadata, tables, DAX…
permissive · top 15,000 on PyPI
airflow-provider-fivetran-asyncProvides async operators and sensors for Apache…
permissive · top 15,000 on PyPI
apache-airflow-providers-anomaloProvides native Apache Airflow operators and…
permissive · top 15,000 on PyPI
apache-airflow-providers-apache-sparkIntegrates Apache Spark with Apache Airflow,…
permissive · top 5,000 on PyPI
apache-airflow-providers-neo4jIntegrates Neo4j graph database operations into…
permissive · top 15,000 on PyPI