airflow
The core package providing configuration, settings, and entry points for the Airflow scheduler, web server and CLI.
# Example import
import airflow
print(airflow.__version__)
airflow.models
Contains the ORM models used by Airflow, such as DAG
, TaskInstance
, DagRun
, etc.
from airflow.models import DAG, TaskInstance
dag = DAG('example')
ti = TaskInstance(task=dag.get_task('my_task'), execution_date=datetime.utcnow())
airflow.operators
Common operators for building workflows, e.g., BashOperator
, PythonOperator
, SqlOperator
.
from airflow.operators.bash import BashOperator
bash_task = BashOperator(
task_id='run_script',
bash_command='echo "Hello Airflow!"',
dag=dag
)
airflow.sensors
Sensors are special operators that wait for a condition to be true.
from airflow.sensors.filesystem import FileSensor
wait_for_file = FileSensor(
task_id='wait_for_file',
filepath='/data/input.csv',
poke_interval=30,
dag=dag
)
airflow.utils
Utility functions and helpers used throughout Airflow.
from airflow.utils.dates import days_ago
default_args = {'start_date': days_ago(2)}
airflow.providers
Integration packages for external services (AWS, GCP, MySQL, etc.).
from airflow.providers.amazon.aws.operators.s3 import S3CreateBucketOperator
create_bucket = S3CreateBucketOperator(
task_id='create_bucket',
bucket_name='my-data-bucket',
dag=dag
)