airflow-dbt-python
A collection of Airflow operators, hooks, and utilities to execute dbt commands
What it is and what it does
airflow-dbt-python bridges Airflow and dbt by providing native operators and hooks that invoke dbt-core as a library rather than wrapping CLI calls. It enables you to orchestrate dbt workflows directly within Airflow DAGs, with each task executing in an isolated temporary directory to work with Airflow's independent task execution model.
The package handles the practical challenges of integrating these tools: it can fetch dbt projects and profiles from remote storage (S3, git), push dbt artifacts to Airflow XCom for downstream use, and map Airflow connections directly to dbt targets without requiring a profiles.yml file. It supports Python 3.10 through 3.13 and is actively maintained against the latest Airflow and dbt-core releases.
Use it for:
- Orchestrate multi-step dbt workflows (run, test, snapshot) as independent Airflow tasks with conditional logic between steps.
- Fetch dbt projects from git repositories or S3 at task runtime and execute them in isolated environments across distributed executors.
- Extract dbt artifacts (manifest, run_results) to XCom and use them in downstream Airflow tasks for alerting, reporting, or dynamic DAG generation.
- Use Airflow connections to configure dbt targets without maintaining separate profiles.yml files in your deployment.
- Deploy dbt workflows to managed Airflow services (AWS MWAA, GCP Cloud Composer) by adding the package to requirements or PyPI packages.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Airflow operators, hooks, and utilities to execute dbt commands within Airflow workflows, treating dbt as a library rather than a CLI wrapper.
Yes. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and low install friction. It is production-stable (Development Status 5) and directly addresses the common need to orchestrate dbt within Airflow. Install it if you run dbt workflows in Airflow and want native operator support rather than CLI wrapping.
Install
airflow-dbt-python on PyPI
pip
pip install airflow-dbt-pythonuv
uv add airflow-dbt-pythonpoetry
poetry add airflow-dbt-pythonInstalling airflow-dbt-python
Before you install
Low install friction; pure Python wheel with three runtime dependencies. Actively maintained as of 2026-05-24 with recent releases. Requires Airflow 3.0 or later and dbt-core 1.8 or later.
License in practice
MIT license permits commercial and private use with minimal restrictions; safe for most production environments.
Quickstart
pip install airflow-dbt-python
from airflow_dbt_python.operators.dbt import DbtRunOperator
run_dbt = DbtRunOperator(
task_id='dbt_run',
project_dir='/path/to/dbt/project'
)
Requires Airflow 3.0 or later, dbt-core 1.8 or later, and Python 3.10 or later.
Verify before relying
- Specific version compatibility matrix between airflow-dbt-python and Airflow/dbt-core patch versions beyond the stated minima.
- Performance characteristics when handling large dbt projects or high-frequency task execution.
- Support scope for dbt adapters beyond the documented redshift extra.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<3.14,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — apache-airflow, contextlib-chdir, dbt-core |
| Maintenance | actively maintained — 82 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 300,271/month — #7,844 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: airflow_dbt_python-3.6.0-py3-none-any.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
airflow-dbtProvides Airflow operators that wrap dbt CLI…
permissive · top 15,000 on PyPI
astronomer-cosmosRenders dbt Core projects as Apache Airflow…
permissive · top 5,000 on PyPI
apache-airflow-providers-dbt-cloudIntegrates dbt Cloud with Apache Airflow,…
permissive · top 5,000 on PyPI
apache-airflow-providers-standardProvides standard operators, hooks, and sensors…
permissive · top 5,000 on PyPI
apache-airflow-providers-arangodbIntegrates ArangoDB with Apache Airflow,…
permissive · top 15,000 on PyPI
apache-airflow-providers-oracleIntegrates Apache Airflow with Oracle…
permissive · top 5,000 on PyPI
airflow-mcdIntegrates Monte Carlo data observability into…
permissive · top 15,000 on PyPI
apache-airflow-providers-httpProvides HTTP operators, hooks, and sensors for…
permissive · top 1,000 on PyPI
apache-airflow-providers-weaviateIntegrates Weaviate vector database operations…
permissive · top 15,000 on PyPI
apache-airflow-providers-odbcProvides ODBC database connectivity operators…
permissive · top 5,000 on PyPI