airflow-powerbi-plugin
Airflow PowerBI plugin
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- Low install friction with no runtime dependencies.
License · maintenance · safety
(unclear) — 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.
last release 2024-09-17 (696 days) · last repo commit 2024-09-17 · 12 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 336,631 downloads/mo, #7,459 on PyPI
Alternatives
Verify before relying
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>"
)- 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.
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 on it.
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
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.
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.
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>"
)
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 |
| Classifiers | Development Status :: 3 - AlphaEnvironment :: PluginsIntended Audience :: DevelopersProgramming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules |
Evidence: airflow_powerbi_plugin-1.0.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “airflow power bi dataset refresh”
- airflow-powerbi-pluginAn Apache Airflow plugin that triggers Power BI dataset refreshes via…
- apache-airflow-providers-microsoft-fabricProvides Apache Airflow operators to trigger, monitor, and…
- semantic-link-labsExtends Microsoft Fabric's Semantic Link with utilities for managing…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also apache-airflow-microsoft-fabric-plugin · apache-airflow-providers-microsoft-fabric · airflow-provider-hightouch · apache-airflow-core · airflow-mcd · pbixray · airflow-provider-fivetran-async · apache-airflow-providers-anomalo · apache-airflow-providers-apache-spark · apache-airflow-providers-neo4j