You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ep...@apache.org on 2023/04/30 12:35:55 UTC
[airflow-site] 01/01: Add documentation for Apache Airflow 2.6.0
This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a commit to branch 2.6.0-docs
in repository https://gitbox.apache.org/repos/asf/airflow-site.git
commit 11a025442390d7bbd3aaef2bf92d55da2c88f498
Author: Ephraim Anierobi <sp...@gmail.com>
AuthorDate: Sun Apr 30 13:34:37 2023 +0100
Add documentation for Apache Airflow 2.6.0
---
.../2.6.0}/.buildinfo | 2 +-
.../2.6.0/_api/airflow/decorators/base/index.html | 1417 ++
.../airflow/decorators/branch_python/index.html} | 581 +-
.../airflow/decorators/external_python/index.html} | 583 +-
.../2.6.0/_api/airflow/decorators/index.html} | 736 +-
.../_api/airflow/decorators/python/index.html} | 578 +-
.../decorators/python_virtualenv/index.html} | 580 +-
.../_api/airflow/decorators/sensor/index.html} | 648 +-
.../airflow/decorators/setup_teardown/index.html} | 584 +-
.../airflow/decorators/short_circuit/index.html} | 579 +-
.../_api/airflow/decorators/task_group/index.html} | 628 +-
.../example_dags/example_bash_operator/index.html} | 625 +-
.../example_branch_datetime_operator/index.html} | 706 +-
.../index.html} | 617 +-
.../example_dags/example_branch_labels/index.html} | 617 +-
.../example_branch_operator/index.html} | 617 +-
.../example_branch_operator_decorator/index.html} | 617 +-
.../index.html} | 650 +-
.../example_dags/example_complex/index.html} | 617 +-
.../example_dags/example_datasets/index.html} | 637 +-
.../example_dynamic_task_mapping/index.html} | 624 +-
.../example_external_task_marker_dag/index.html} | 646 +-
.../example_kubernetes_executor/index.html} | 649 +-
.../example_dags/example_latest_only/index.html} | 617 +-
.../example_latest_only_with_trigger/index.html} | 617 +-
.../example_local_kubernetes_executor/index.html} | 649 +-
.../example_nested_branch_dag/index.html} | 626 +-
.../example_params_trigger_ui/index.html} | 625 +-
.../example_params_ui_tutorial/index.html} | 626 +-
.../index.html} | 662 +-
.../example_python_operator/index.html} | 680 +-
.../example_sensor_decorator/index.html} | 647 +-
.../example_dags/example_sensors/index.html} | 655 +-
.../example_setup_teardown/index.html} | 617 +-
.../example_setup_teardown_taskflow/index.html} | 624 +-
.../example_short_circuit_decorator/index.html} | 647 +-
.../example_short_circuit_operator/index.html} | 617 +-
.../example_dags/example_skip_dag/index.html} | 676 +-
.../example_subdag_operator/index.html} | 625 +-
.../example_dags/example_task_group/index.html} | 617 +-
.../example_task_group_decorator/index.html} | 803 +-
.../example_time_delta_sensor_async/index.html} | 618 +-
.../example_trigger_controller_dag/index.html} | 619 +-
.../example_trigger_target_dag/index.html} | 649 +-
.../airflow/example_dags/example_xcom/index.html} | 786 +-
.../example_dags/example_xcomargs/index.html} | 669 +-
.../2.6.0/_api/airflow/example_dags/index.html} | 643 +-
.../airflow/example_dags/libs/helper}/index.html | 387 +-
.../_api/airflow/example_dags/libs}/index.html | 343 +-
.../plugins/event_listener/index.html} | 635 +-
.../_api/airflow/example_dags/plugins}/index.html | 349 +-
.../plugins/listener_plugin/index.html} | 593 +-
.../example_dags/plugins/workday/index.html} | 684 +-
.../_api/airflow/example_dags/subdags}/index.html | 343 +-
.../example_dags/subdags/subdag/index.html} | 570 +-
.../_api/airflow/example_dags/tutorial/index.html} | 619 +-
.../airflow/example_dags/tutorial_dag/index.html} | 625 +-
.../example_dags/tutorial_taskflow_api/index.html} | 629 +-
.../tutorial_taskflow_api_virtualenv/index.html} | 649 +-
.../2.6.0/_api/airflow/exceptions/index.html | 1709 +++
.../2.6.0/_api/airflow/hooks/base/index.html} | 766 +-
.../2.6.0/_api/airflow/hooks/dbapi}/index.html | 332 +-
.../_api/airflow/hooks/filesystem/index.html} | 583 +-
.../2.6.0/_api/airflow/hooks}/index.html | 333 +-
.../_api/airflow/hooks/subprocess/index.html} | 612 +-
.../2.6.0/_api/airflow/operators/bash/index.html} | 725 +-
.../_api/airflow/operators/branch/index.html} | 606 +-
.../_api/airflow/operators/datetime/index.html} | 624 +-
.../2.6.0/_api/airflow/operators/email/index.html} | 629 +-
.../2.6.0/_api/airflow/operators/empty/index.html} | 604 +-
.../airflow/operators/generic_transfer/index.html} | 629 +-
.../2.6.0/_api/airflow/operators/index.html} | 551 +-
.../_api/airflow/operators/latest_only/index.html} | 601 +-
.../2.6.0/_api/airflow/operators/python/index.html | 1492 ++
.../_api/airflow/operators/smooth/index.html} | 602 +-
.../_api/airflow/operators/subdag/index.html} | 675 +-
.../airflow/operators/trigger_dagrun/index.html} | 721 +-
.../_api/airflow/operators/weekday/index.html} | 637 +-
.../_api/airflow/secrets/base_secrets/index.html} | 680 +-
.../secrets/environment_variables/index.html} | 639 +-
.../2.6.0/_api/airflow/secrets/index.html} | 591 +-
.../airflow/secrets/local_filesystem/index.html} | 711 +-
.../_api/airflow/secrets/metastore/index.html} | 605 +-
.../2.6.0/_api/airflow/sensors/base/index.html} | 726 +-
.../2.6.0/_api/airflow/sensors/bash/index.html} | 605 +-
.../_api/airflow/sensors/date_time/index.html} | 643 +-
.../_api/airflow/sensors/external_task/index.html} | 810 +-
.../_api/airflow/sensors/filesystem/index.html} | 607 +-
.../2.6.0/_api/airflow/sensors}/index.html | 350 +-
.../2.6.0/_api/airflow/sensors/python/index.html} | 604 +-
.../_api/airflow/sensors/time_delta/index.html} | 628 +-
.../_api/airflow/sensors/time_sensor/index.html} | 628 +-
.../2.6.0/_api/airflow/sensors/weekday/index.html} | 622 +-
.../_api/airflow/timetables/_cron}/index.html | 326 +-
.../2.6.0/_api/airflow/timetables/base/index.html} | 879 +-
.../_api/airflow/timetables/events/index.html} | 645 +-
.../2.6.0/_api/airflow/timetables}/index.html | 333 +-
.../_api/airflow/timetables/interval/index.html} | 720 +-
.../_api/airflow/timetables/simple/index.html} | 793 +-
.../_api/airflow/timetables/trigger/index.html} | 622 +-
.../2.6.0/_api/airflow/triggers/base/index.html} | 659 +-
.../airflow/triggers/external_task/index.html} | 645 +-
.../2.6.0/_api/airflow/triggers/file/index.html} | 579 +-
.../2.6.0/_api/airflow/triggers}/index.html | 333 +-
.../_api/airflow/triggers/temporal/index.html} | 599 +-
.../_api/airflow/triggers/testing/index.html} | 634 +-
docs-archive/apache-airflow/2.6.0/_api/index.html | 1 +
.../apache-airflow/2.6.0/_images/add-dag-tags.png | Bin 0 -> 68537 bytes
.../apache-airflow/2.6.0/_images/add-role.png | Bin 0 -> 30509 bytes
.../apache-airflow/2.6.0/_images/airflow_erd.svg | 1621 ++
.../apache-airflow/2.6.0/_images/apache.jpg | Bin 0 -> 43364 bytes
.../2.6.0/_images/arch-diag-basic.png | Bin 0 -> 16357 bytes
.../2.6.0/_images/arch-diag-kubernetes.png | Bin 0 -> 21804 bytes
.../2.6.0/_images/arch-diag-kubernetes2.png | Bin 0 -> 86384 bytes
.../2.6.0/_images/arch-diag-logging.png | Bin 0 -> 25843 bytes
.../apache-airflow/2.6.0/_images/basic-dag.png | Bin 0 -> 5393 bytes
.../apache-airflow/2.6.0/_images/branch_note.png | Bin 0 -> 31771 bytes
.../2.6.0/_images/branch_with_trigger.png | Bin 0 -> 34081 bytes
.../2.6.0/_images/branch_without_trigger.png | Bin 0 -> 39815 bytes
.../apache-airflow/2.6.0/_images/calendar.png | Bin 0 -> 58726 bytes
.../2.6.0/_images/cli_completion.gif | Bin 0 -> 775263 bytes
docs-archive/apache-airflow/2.6.0/_images/code.png | Bin 0 -> 169890 bytes
.../2.6.0/_images/connection_create.png | Bin 0 -> 52889 bytes
.../2.6.0/_images/connection_edit.png | Bin 0 -> 31186 bytes
.../apache-airflow/2.6.0/_images/context.png | Bin 0 -> 124467 bytes
.../apache-airflow/2.6.0/_images/dag_doc.png | Bin 0 -> 40094 bytes
.../2.6.0/_images/dag_file_processing_diagram.png | Bin 0 -> 263825 bytes
.../2.6.0/_images/dag_serialization.png | Bin 0 -> 99917 bytes
.../apache-airflow/2.6.0/_images/dags-page-new.png | Bin 0 -> 483599 bytes
.../apache-airflow/2.6.0/_images/dags-page-old.png | Bin 0 -> 493009 bytes
docs-archive/apache-airflow/2.6.0/_images/dags.png | Bin 0 -> 211122 bytes
.../2.6.0/_images/dataset-scheduled-dags.png | Bin 0 -> 77225 bytes
.../apache-airflow/2.6.0/_images/datasets.png | Bin 0 -> 341201 bytes
.../default_instance_name_configuration.png | Bin 0 -> 154888 bytes
.../2.6.0/_images/demo_graph_view.png | Bin 0 -> 38016 bytes
.../2.6.0/_images/demo_grid_view.png | Bin 0 -> 65574 bytes
.../apache-airflow/2.6.0/_images/duration.png | Bin 0 -> 150876 bytes
.../2.6.0/_images/edge_label_example.png | Bin 0 -> 24592 bytes
.../2.6.0/_images/email_connection.png | Bin 0 -> 59515 bytes
.../example_instance_name_configuration.png | Bin 0 -> 154915 bytes
.../2.6.0/_images/example_passing_conf.png | Bin 0 -> 41080 bytes
.../apache-airflow/2.6.0/_images/gantt.png | Bin 0 -> 70606 bytes
.../2.6.0/_images/graph-view-new.png | Bin 0 -> 56973 bytes
.../2.6.0/_images/graph-view-old.png | Bin 0 -> 54884 bytes
.../apache-airflow/2.6.0/_images/graph.png | Bin 0 -> 128870 bytes
...iz-5817c4b4cb6cd3ea7d604aa85ab3420b64a24446.svg | 200 +
...iz-66e404e292d46e7c601f518726fab5fd4133292f.svg | 142 +
docs-archive/apache-airflow/2.6.0/_images/grid.png | Bin 0 -> 347155 bytes
.../2.6.0/_images/grid_instance_details.png | Bin 0 -> 287820 bytes
.../2.6.0/_images/grid_mapped_task.png | Bin 0 -> 334409 bytes
.../2.6.0/_images/grid_run_details.png | Bin 0 -> 243661 bytes
.../2.6.0/_images/grid_task_group.png | Bin 0 -> 56287 bytes
.../2.6.0/_images/howto-owner-links.gif | Bin 0 -> 829619 bytes
.../2.6.0/_images/k8s-failed-pod.png | Bin 0 -> 18937 bytes
.../2.6.0/_images/k8s-happy-path.png | Bin 0 -> 17257 bytes
.../apache-airflow/2.6.0/_images/landing_times.png | Bin 0 -> 84125 bytes
.../2.6.0/_images/latest_only_with_trigger.png | Bin 0 -> 42887 bytes
.../2.6.0/_images/mapping-simple-graph.png | Bin 0 -> 7676 bytes
.../2.6.0/_images/mapping-simple-grid.png | Bin 0 -> 179670 bytes
.../apache-airflow/2.6.0/_images/new-role.png | Bin 0 -> 14115 bytes
.../2.6.0/_images/operator_extra_link.png | Bin 0 -> 90359 bytes
.../2.6.0/_images/run_task_on_celery_executor.png | Bin 0 -> 55939 bytes
.../apache-airflow/2.6.0/_images/subdag_after.png | Bin 0 -> 30245 bytes
.../apache-airflow/2.6.0/_images/subdag_before.png | Bin 0 -> 70382 bytes
.../apache-airflow/2.6.0/_images/subdag_zoom.png | Bin 0 -> 145017 bytes
.../apache-airflow/2.6.0/_images/task_doc.png | Bin 0 -> 245714 bytes
.../apache-airflow/2.6.0/_images/task_group.gif | Bin 0 -> 609981 bytes
.../2.6.0/_images/task_lifecycle_diagram.png | Bin 0 -> 58659 bytes
.../2.6.0/_images/task_manual_vs_scheduled.png | Bin 0 -> 5686 bytes
.../2.6.0/_images/template_field_renderer_path.png | Bin 0 -> 64442 bytes
.../apache-airflow/2.6.0/_images/tree-view-new.png | Bin 0 -> 36934 bytes
.../apache-airflow/2.6.0/_images/tree-view-old.png | Bin 0 -> 21601 bytes
.../2.6.0/_images/trigger-dag-tutorial-form.png | Bin 0 -> 219254 bytes
.../2.6.0/_images/tutorial-pipeline-1.png | Bin 0 -> 566225 bytes
.../2.6.0/_images/tutorial-pipeline-2.png | Bin 0 -> 345529 bytes
.../2.6.0/_images/ui-alert-message.png | Bin 0 -> 7909 bytes
.../2.6.0/_images/ui-timezone-chooser.png | Bin 0 -> 16644 bytes
.../2.6.0/_images/usage_cli_export.png | Bin 0 -> 397830 bytes
.../2.6.0/_images/usage_cli_imgcat.png | Bin 0 -> 475224 bytes
.../2.6.0/_images/variable_hidden.png | Bin 0 -> 55331 bytes
.../apache-airflow/2.6.0/_images/watcher.png | Bin 0 -> 41592 bytes
.../2.6.0/_modules/airflow/decorators.html} | 372 +-
.../2.6.0/_modules/airflow/decorators/base.html | 1476 ++
.../airflow/decorators/branch_python.html} | 373 +-
.../airflow/decorators/external_python.html} | 385 +-
.../2.6.0/_modules/airflow/decorators/python.html} | 375 +-
.../airflow/decorators/python_virtualenv.html} | 377 +-
.../2.6.0/_modules/airflow/decorators/sensor.html} | 372 +-
.../airflow/decorators/setup_teardown.html} | 356 +-
.../airflow/decorators/short_circuit.html} | 376 +-
.../_modules/airflow/decorators/task_group.html} | 506 +-
.../example_dags/example_bash_operator.html} | 373 +-
.../example_branch_datetime_operator.html} | 401 +-
.../example_branch_day_of_week_operator.html} | 357 +-
.../example_dags/example_branch_labels.html} | 342 +-
.../example_dags/example_branch_operator.html} | 362 +-
.../example_branch_operator_decorator.html} | 355 +-
.../example_branch_python_dop_operator_3.html} | 357 +-
.../airflow/example_dags/example_complex.html} | 719 +-
.../airflow/example_dags/example_datasets.html} | 426 +-
.../example_dynamic_task_mapping.html} | 335 +-
.../example_external_task_marker_dag.html} | 394 +-
.../example_dags/example_kubernetes_executor.html} | 536 +-
.../airflow/example_dags/example_latest_only.html} | 334 +-
.../example_latest_only_with_trigger.html} | 345 +-
.../example_local_kubernetes_executor.html} | 368 +-
.../example_dags/example_nested_branch_dag.html} | 353 +-
.../example_dags/example_params_trigger_ui.html} | 401 +-
.../example_dags/example_params_ui_tutorial.html} | 531 +-
.../example_passing_params_via_test_command.html} | 383 +-
.../example_dags/example_python_operator.html} | 662 +-
.../example_dags/example_sensor_decorator.html} | 365 +-
.../airflow/example_dags/example_sensors.html} | 416 +-
.../example_dags/example_setup_teardown.html} | 343 +-
.../example_setup_teardown_taskflow.html} | 369 +-
.../example_short_circuit_decorator.html} | 357 +-
.../example_short_circuit_operator.html} | 358 +-
.../airflow/example_dags/example_skip_dag.html} | 363 +-
.../example_dags/example_subdag_operator.html} | 359 +-
.../airflow/example_dags/example_task_group.html} | 361 +-
.../example_task_group_decorator.html} | 376 +-
.../example_time_delta_sensor_async.html} | 338 +-
.../example_trigger_controller_dag.html} | 338 +-
.../example_dags/example_trigger_target_dag.html} | 352 +-
.../airflow/example_dags/example_xcom.html} | 390 +-
.../airflow/example_dags/example_xcomargs.html} | 362 +-
.../airflow/example_dags/libs/helper.html} | 319 +-
.../example_dags/plugins/event_listener.html} | 733 +-
.../example_dags/plugins/listener_plugin.html} | 323 +-
.../airflow/example_dags/plugins/workday.html} | 400 +-
.../airflow/example_dags/subdags/subdag.html} | 352 +-
.../_modules/airflow/example_dags/tutorial.html} | 422 +-
.../airflow/example_dags/tutorial_dag.html} | 432 +-
.../example_dags/tutorial_taskflow_api.html} | 404 +-
.../tutorial_taskflow_api_virtualenv.html} | 384 +-
.../2.6.0/_modules/airflow/exceptions.html} | 816 +-
.../2.6.0/_modules/airflow/hooks/base.html} | 471 +-
.../2.6.0/_modules/airflow/hooks/filesystem.html} | 348 +-
.../2.6.0/_modules/airflow/hooks/subprocess.html} | 609 +-
.../2.6.0/_modules/airflow/macros.html} | 386 +-
.../2.6.0/_modules/airflow/operators/bash.html} | 797 +-
.../2.6.0/_modules/airflow/operators/branch.html} | 353 +-
.../_modules/airflow/operators/datetime.html} | 413 +-
.../2.6.0/_modules/airflow/operators/email.html} | 385 +-
.../2.6.0/_modules/airflow/operators/empty.html} | 332 +-
.../airflow/operators/generic_transfer.html} | 403 +-
.../_modules/airflow/operators/latest_only.html} | 373 +-
.../2.6.0/_modules/airflow/operators/python.html | 1626 ++
.../2.6.0/_modules/airflow/operators/smooth.html} | 331 +-
.../2.6.0/_modules/airflow/operators/subdag.html} | 673 +-
.../airflow/operators/trigger_dagrun.html} | 540 +-
.../2.6.0/_modules/airflow/operators/weekday.html} | 418 +-
.../2.6.0/_modules/airflow/policies.html} | 783 +-
.../2.6.0/_modules/airflow/secrets.html} | 333 +-
.../_modules/airflow/secrets/base_secrets.html} | 451 +-
.../airflow/secrets/environment_variables.html} | 357 +-
.../airflow/secrets/local_filesystem.html} | 777 +-
.../2.6.0/_modules/airflow/secrets/metastore.html} | 371 +-
.../2.6.0/_modules/airflow/sensors/base.html} | 950 +-
.../2.6.0/_modules/airflow/sensors/bash.html} | 408 +-
.../2.6.0/_modules/airflow/sensors/date_time.html} | 393 +-
.../_modules/airflow/sensors/external_task.html | 1335 ++
.../_modules/airflow/sensors/filesystem.html} | 372 +-
.../2.6.0/_modules/airflow/sensors/python.html} | 374 +-
.../_modules/airflow/sensors/time_delta.html} | 364 +-
.../_modules/airflow/sensors/time_sensor.html} | 377 +-
.../2.6.0/_modules/airflow/sensors/weekday.html} | 413 +-
.../2.6.0/_modules/airflow/timetables/_cron.html} | 719 +-
.../2.6.0/_modules/airflow/timetables/base.html} | 518 +-
.../2.6.0/_modules/airflow/timetables/events.html} | 620 +-
.../_modules/airflow/timetables/interval.html} | 683 +-
.../2.6.0/_modules/airflow/timetables/simple.html} | 483 +-
.../_modules/airflow/timetables/trigger.html} | 397 +-
.../2.6.0/_modules/airflow/triggers/base.html} | 414 +-
.../_modules/airflow/triggers/external_task.html} | 460 +-
.../2.6.0/_modules/airflow/triggers/file.html} | 370 +-
.../2.6.0/_modules/airflow/triggers/temporal.html} | 385 +-
.../2.6.0/_modules/airflow/triggers/testing.html} | 350 +-
.../2.6.0/_modules}/index.html | 389 +-
.../_api/airflow/decorators/base/index.rst.txt | 238 +
.../airflow/decorators/branch_python/index.rst.txt | 34 +
.../decorators/external_python/index.rst.txt | 38 +
.../_sources/_api/airflow/decorators/index.rst.txt | 124 +
.../_api/airflow/decorators/python/index.rst.txt | 30 +
.../decorators/python_virtualenv/index.rst.txt | 35 +
.../_api/airflow/decorators/sensor/index.rst.txt | 74 +
.../decorators/setup_teardown/index.rst.txt | 26 +
.../airflow/decorators/short_circuit/index.rst.txt | 34 +
.../airflow/decorators/task_group/index.rst.txt | 63 +
.../example_bash_operator/index.rst.txt | 22 +
.../example_branch_datetime_operator/index.rst.txt | 63 +
.../index.rst.txt | 18 +
.../example_branch_labels/index.rst.txt | 18 +
.../example_branch_operator/index.rst.txt | 18 +
.../index.rst.txt | 18 +
.../index.rst.txt | 45 +
.../example_dags/example_complex/index.rst.txt | 18 +
.../example_dags/example_datasets/index.rst.txt | 41 +
.../example_dynamic_task_mapping/index.rst.txt | 27 +
.../example_external_task_marker_dag/index.rst.txt | 44 +
.../example_kubernetes_executor/index.rst.txt | 34 +
.../example_dags/example_latest_only/index.rst.txt | 18 +
.../example_latest_only_with_trigger/index.rst.txt | 18 +
.../index.rst.txt | 34 +
.../example_nested_branch_dag/index.rst.txt | 29 +
.../example_params_trigger_ui/index.rst.txt | 29 +
.../example_params_ui_tutorial/index.rst.txt | 30 +
.../index.rst.txt | 51 +
.../example_python_operator/index.rst.txt | 56 +
.../example_sensor_decorator/index.rst.txt | 39 +
.../example_dags/example_sensors/index.rst.txt | 38 +
.../example_setup_teardown/index.rst.txt | 18 +
.../example_setup_teardown_taskflow/index.rst.txt | 27 +
.../example_short_circuit_decorator/index.rst.txt | 39 +
.../example_short_circuit_operator/index.rst.txt | 18 +
.../example_dags/example_skip_dag/index.rst.txt | 61 +
.../example_subdag_operator/index.rst.txt | 23 +
.../example_dags/example_task_group/index.rst.txt | 18 +
.../example_task_group_decorator/index.rst.txt | 71 +
.../example_time_delta_sensor_async/index.rst.txt | 19 +
.../example_trigger_controller_dag/index.rst.txt | 20 +
.../example_trigger_target_dag/index.rst.txt | 45 +
.../example_dags/example_xcom/index.rst.txt | 68 +
.../example_dags/example_xcomargs/index.rst.txt | 52 +
.../_api/airflow/example_dags/index.rst.txt | 64 +
.../airflow/example_dags/libs/helper/index.rst.txt | 22 +
.../_api/airflow/example_dags/libs/index.rst.txt | 15 +
.../plugins/event_listener/index.rst.txt | 63 +
.../airflow/example_dags/plugins/index.rst.txt | 17 +
.../plugins/listener_plugin/index.rst.txt | 35 +
.../example_dags/plugins/workday/index.rst.txt | 94 +
.../airflow/example_dags/subdags/index.rst.txt | 15 +
.../example_dags/subdags/subdag/index.rst.txt | 34 +
.../airflow/example_dags/tutorial/index.rst.txt | 20 +
.../example_dags/tutorial_dag/index.rst.txt | 28 +
.../tutorial_taskflow_api/index.rst.txt | 29 +
.../tutorial_taskflow_api_virtualenv/index.rst.txt | 38 +
.../_sources/_api/airflow/exceptions/index.rst.txt | 453 +
.../_sources/_api/airflow/hooks/base/index.rst.txt | 186 +
.../_api/airflow/hooks/dbapi/index.rst.txt | 6 +
.../_api/airflow/hooks/filesystem/index.rst.txt | 46 +
.../_sources/_api/airflow/hooks/index.rst.txt | 23 +
.../_api/airflow/hooks/subprocess/index.rst.txt | 63 +
.../_api/airflow/operators/bash/index.rst.txt | 165 +
.../_api/airflow/operators/branch/index.rst.txt | 59 +
.../_api/airflow/operators/datetime/index.rst.txt | 64 +
.../_api/airflow/operators/email/index.rst.txt | 67 +
.../_api/airflow/operators/empty/index.rst.txt | 47 +
.../operators/generic_transfer/index.rst.txt | 69 +
.../_sources/_api/airflow/operators/index.rst.txt | 31 +
.../airflow/operators/latest_only/index.rst.txt | 53 +
.../_api/airflow/operators/python/index.rst.txt | 367 +
.../_api/airflow/operators/smooth/index.rst.txt | 45 +
.../_api/airflow/operators/subdag/index.rst.txt | 96 +
.../airflow/operators/trigger_dagrun/index.rst.txt | 120 +
.../_api/airflow/operators/weekday/index.rst.txt | 91 +
.../airflow/secrets/base_secrets/index.rst.txt | 101 +
.../secrets/environment_variables/index.rst.txt | 75 +
.../_sources/_api/airflow/secrets/index.rst.txt | 56 +
.../airflow/secrets/local_filesystem/index.rst.txt | 116 +
.../_api/airflow/secrets/metastore/index.rst.txt | 55 +
.../_api/airflow/sensors/base/index.rst.txt | 135 +
.../_api/airflow/sensors/bash/index.rst.txt | 58 +
.../_api/airflow/sensors/date_time/index.rst.txt | 87 +
.../airflow/sensors/external_task/index.rst.txt | 197 +
.../_api/airflow/sensors/filesystem/index.rst.txt | 58 +
.../_sources/_api/airflow/sensors/index.rst.txt | 28 +
.../_api/airflow/sensors/python/index.rst.txt | 56 +
.../_api/airflow/sensors/time_delta/index.rst.txt | 69 +
.../_api/airflow/sensors/time_sensor/index.rst.txt | 67 +
.../_api/airflow/sensors/weekday/index.rst.txt | 83 +
.../_api/airflow/timetables/_cron/index.rst.txt | 40 +
.../_api/airflow/timetables/base/index.rst.txt | 258 +
.../_api/airflow/timetables/events/index.rst.txt | 98 +
.../_sources/_api/airflow/timetables/index.rst.txt | 19 +
.../_api/airflow/timetables/interval/index.rst.txt | 144 +
.../_api/airflow/timetables/simple/index.rst.txt | 186 +
.../_api/airflow/timetables/trigger/index.rst.txt | 81 +
.../_api/airflow/triggers/base/index.rst.txt | 103 +
.../airflow/triggers/external_task/index.rst.txt | 83 +
.../_api/airflow/triggers/file/index.rst.txt | 42 +
.../_sources/_api/airflow/triggers/index.rst.txt | 19 +
.../_api/airflow/triggers/temporal/index.rst.txt | 63 +
.../_api/airflow/triggers/testing/index.rst.txt | 88 +
.../cluster-policies.rst.txt | 175 +
.../dag-serialization.rst.txt | 118 +
.../administration-and-deployment/index.rst.txt | 37 +
.../kubernetes.rst.txt | 62 +
.../administration-and-deployment/lineage.rst.txt | 113 +
.../listeners.rst.txt | 60 +
.../logging-monitoring/callbacks.rst.txt | 89 +
.../logging-monitoring/check-health.rst.txt | 150 +
.../logging-monitoring/errors.rst.txt | 105 +
.../logging-monitoring/index.rst.txt | 39 +
.../logging-architecture.rst.txt | 41 +
.../logging-monitoring/logging-tasks.rst.txt | 193 +
.../logging-monitoring/metrics.rst.txt | 179 +
.../tracking-user-activity.rst.txt | 39 +
.../modules_management.rst.txt | 419 +
.../administration-and-deployment/pools.rst.txt | 90 +
.../priority-weight.rst.txt | 61 +
.../production-deployment.rst.txt | 230 +
.../scheduler.rst.txt | 394 +
.../security/access-control.rst.txt | 238 +
.../security/api.rst.txt | 167 +
.../security/audit_logs.rst.txt | 64 +
.../security/flower.rst.txt | 62 +
.../security/index.rst.txt | 28 +
.../security/kerberos.rst.txt | 165 +
.../security/secrets/fernet.rst.txt | 63 +
.../security/secrets/index.rst.txt | 37 +
.../security/secrets/mask-sensitive-values.rst.txt | 79 +
.../security/secrets/secrets-backend/index.rst.txt | 121 +
.../local-filesystem-secrets-backend.rst.txt | 145 +
.../security/webserver.rst.txt | 286 +
.../security/workload.rst.txt | 52 +
.../authoring-and-scheduling/connections.rst.txt | 51 +
.../dagfile-processing.rst.txt | 47 +
.../authoring-and-scheduling/datasets.rst.txt | 199 +
.../authoring-and-scheduling/deferring.rst.txt | 173 +
.../dynamic-task-mapping.rst.txt | 539 +
.../authoring-and-scheduling/index.rst.txt | 44 +
.../authoring-and-scheduling/plugins.rst.txt | 341 +
.../authoring-and-scheduling/serializers.rst.txt | 128 +
.../authoring-and-scheduling/timetable.rst.txt | 219 +
.../authoring-and-scheduling/timezone.rst.txt | 189 +
.../2.6.0/_sources/best-practices.rst.txt | 956 ++
.../_sources/cli-and-env-variables-ref.rst.txt | 105 +
.../2.6.0/_sources/configurations-ref.rst.txt | 110 +
.../2.6.0/_sources/core-concepts/dag-run.rst.txt | 287 +
.../2.6.0/_sources/core-concepts/dags.rst.txt | 889 ++
.../_sources/core-concepts/executor/celery.rst.txt | 219 +
.../executor/celery_kubernetes.rst.txt | 46 +
.../_sources/core-concepts/executor/dask.rst.txt | 56 +
.../_sources/core-concepts/executor/debug.rst.txt | 104 +
.../_sources/core-concepts/executor/index.rst.txt | 80 +
.../core-concepts/executor/kubernetes.rst.txt | 282 +
.../_sources/core-concepts/executor/local.rst.txt | 49 +
.../executor/local_kubernetes.rst.txt | 30 +
.../core-concepts/executor/sequential.rst.txt | 26 +
.../2.6.0/_sources/core-concepts/index.rst.txt | 51 +
.../2.6.0/_sources/core-concepts/operators.rst.txt | 235 +
.../2.6.0/_sources/core-concepts/overview.rst.txt | 98 +
.../2.6.0/_sources/core-concepts/params.rst.txt | 217 +
.../2.6.0/_sources/core-concepts/sensors.rst.txt | 32 +
.../2.6.0/_sources/core-concepts/taskflow.rst.txt | 201 +
.../2.6.0/_sources/core-concepts/tasks.rst.txt | 265 +
.../2.6.0/_sources/core-concepts/variables.rst.txt | 48 +
.../2.6.0/_sources/core-concepts/xcoms.rst.txt | 88 +
.../2.6.0/_sources/database-erd-ref.rst.txt | 38 +
.../2.6.0/_sources/deprecated-rest-api-ref.rst.txt | 127 +
.../2.6.0/_sources/extra-packages-ref.rst.txt | 395 +
.../apache-airflow/2.6.0/_sources/faq.rst.txt | 502 +
.../2.6.0/_sources/howto/add-dag-tags.rst.txt | 40 +
.../2.6.0/_sources/howto/add-owner-links.rst.txt | 50 +
.../2.6.0/_sources/howto/connection.rst.txt | 460 +
.../_sources/howto/create-custom-decorator.rst.txt | 123 +
.../2.6.0/_sources/howto/custom-operator.rst.txt | 353 +
.../_sources/howto/custom-view-plugin.rst.txt | 76 +
.../2.6.0/_sources/howto/customize-ui.rst.txt | 174 +
.../2.6.0/_sources/howto/define-extra-link.rst.txt | 167 +
.../_sources/howto/docker-compose/index.rst.txt | 400 +
.../_sources/howto/dynamic-dag-generation.rst.txt | 220 +
.../2.6.0/_sources/howto/email-config.rst.txt | 194 +
.../_sources/howto/export-more-env-vars.rst.txt | 52 +
.../2.6.0/_sources/howto/index.rst.txt | 55 +
.../2.6.0/_sources/howto/listener-plugin.rst.txt | 95 +
.../2.6.0/_sources/howto/notifications.rst.txt | 77 +
.../2.6.0/_sources/howto/operator/bash.rst.txt | 160 +
.../2.6.0/_sources/howto/operator/datetime.rst.txt | 74 +
.../howto/operator/external_task_sensor.rst.txt | 79 +
.../2.6.0/_sources/howto/operator/file.rst.txt | 33 +
.../2.6.0/_sources/howto/operator/index.rst.txt | 38 +
.../2.6.0/_sources/howto/operator/python.rst.txt | 241 +
.../2.6.0/_sources/howto/operator/time.rst.txt | 78 +
.../2.6.0/_sources/howto/operator/weekday.rst.txt | 44 +
.../2.6.0/_sources/howto/run-behind-proxy.rst.txt | 92 +
.../2.6.0/_sources/howto/run-with-systemd.rst.txt | 40 +
.../2.6.0/_sources/howto/set-config.rst.txt | 144 +
.../2.6.0/_sources/howto/set-up-database.rst.txt | 387 +
.../2.6.0/_sources/howto/timetable.rst.txt | 355 +
.../howto/upgrading-from-1-10/index.rst.txt | 1232 ++
.../upgrading-from-1-10/upgrade-check.rst.txt | 215 +
.../2.6.0/_sources/howto/usage-cli.rst.txt | 376 +
.../2.6.0/_sources/howto/use-test-config.rst.txt | 36 +
.../2.6.0/_sources/howto/variable.rst.txt | 76 +
.../apache-airflow/2.6.0/_sources/index.rst.txt | 169 +
.../_sources/installation/dependencies.rst.txt | 92 +
.../2.6.0/_sources/installation/index.rst.txt | 318 +
.../installation/installing-from-pypi.rst.txt | 240 +
.../installation/installing-from-sources.rst.txt | 155 +
.../_sources/installation/prerequisites.rst.txt | 65 +
.../installation/setting-up-the-database.rst.txt | 35 +
.../installation/supported-versions.rst.txt | 69 +
.../2.6.0/_sources/installation/upgrading.rst.txt | 271 +
.../2.6.0/_sources/integration.rst.txt | 38 +
.../apache-airflow/2.6.0/_sources/license.rst.txt | 201 +
.../2.6.0/_sources/migrations-ref.rst.txt | 320 +
.../2.6.0/_sources/operators-and-hooks-ref.rst.txt | 128 +
.../2.6.0/_sources/privacy_notice.rst.txt | 68 +
.../apache-airflow/2.6.0/_sources/project.rst.txt | 109 +
.../_sources/public-airflow-interface.rst.txt | 367 +
.../2.6.0/_sources/release-process.rst.txt | 94 +
.../2.6.0/_sources/release_notes.rst.txt | 23 +
.../2.6.0/_sources/stable-rest-api-ref.rst.txt | 23 +
.../apache-airflow/2.6.0/_sources/start.rst.txt | 119 +
.../2.6.0/_sources/templates-ref.rst.txt | 181 +
.../2.6.0/_sources/tutorial/fundamentals.rst.txt | 403 +
.../2.6.0/_sources/tutorial/index.rst.txt | 28 +
.../2.6.0/_sources/tutorial/pipeline.rst.txt | 329 +
.../2.6.0/_sources/tutorial/taskflow.rst.txt | 591 +
.../apache-airflow/2.6.0/_sources/ui.rst.txt | 199 +
docs-archive/apache-airflow/2.6.0/_specs/v1.yaml | 5107 +++++++
.../2.6.0/_static/_gen/css/main-custom.min.css | 1 +
.../2.6.0/_static/_gen/css/main.min.css | 7 +
.../apache-airflow/2.6.0/_static/_gen/js/docs.js | 1 +
.../_sphinx_javascript_frameworks_compat.js | 134 +
.../apache-airflow/2.6.0/_static/basic.css | 899 ++
.../apache-airflow/2.6.0/_static/check-solid.svg | 4 +
.../apache-airflow/2.6.0/_static/clipboard.min.js | 7 +
.../apache-airflow/2.6.0/_static/copy-button.svg | 5 +
.../apache-airflow/2.6.0/_static/copybutton.css | 94 +
.../2.6.0}/_static/copybutton.js | 4 +-
.../2.6.0/_static/copybutton_funcs.js | 73 +
.../apache-airflow/2.6.0/_static/doctools.js | 156 +
.../2.6.0/_static/documentation_options.js | 14 +
.../2.6.0/_static/exampleinclude.css | 86 +
docs-archive/apache-airflow/2.6.0/_static/file.png | Bin 0 -> 286 bytes
.../apache-airflow/2.6.0/_static/gh-jira-links.js | 34 +
.../apache-airflow/2.6.0/_static/graphviz.css | 19 +
.../apache-airflow/2.6.0/_static/jquery-3.6.0.js | 10881 ++++++++++++++
.../apache-airflow/2.6.0/_static/jquery.js | 2 +
.../apache-airflow/2.6.0/_static/js/globaltoc.js | 24 +
.../apache-airflow/2.6.0/_static/language_data.js | 199 +
.../apache-airflow/2.6.0/_static/minus.png | Bin 0 -> 90 bytes
.../apache-airflow/2.6.0/_static/pin_32.png | Bin 0 -> 1201 bytes
docs-archive/apache-airflow/2.6.0/_static/plus.png | Bin 0 -> 90 bytes
.../apache-airflow/2.6.0/_static/pygments.css | 74 +
docs-archive/apache-airflow/2.6.0/_static/redoc.js | 103 +
.../apache-airflow/2.6.0/_static/searchtools.js | 566 +
.../2.6.0/_static/sphinx_highlight.js | 144 +
.../2.6.0/_static/underscore-1.13.1.js | 2042 +++
.../apache-airflow/2.6.0/_static/underscore.js | 6 +
.../cluster-policies.html} | 702 +-
.../dag-serialization.html} | 381 +-
.../administration-and-deployment}/index.html | 380 +-
.../administration-and-deployment/kubernetes.html} | 347 +-
.../administration-and-deployment/lineage.html} | 572 +-
.../administration-and-deployment/listeners.html} | 332 +-
.../logging-monitoring/callbacks.html} | 576 +-
.../logging-monitoring/check-health.html} | 612 +-
.../logging-monitoring/errors.html} | 655 +-
.../logging-monitoring}/index.html | 330 +-
.../logging-monitoring/logging-architecture.html} | 335 +-
.../logging-monitoring/logging-tasks.html} | 656 +-
.../logging-monitoring/metrics.html} | 846 +-
.../tracking-user-activity.html} | 338 +-
.../modules_management.html} | 903 +-
.../administration-and-deployment/pools.html} | 359 +-
.../priority-weight.html} | 336 +-
.../production-deployment.html} | 679 +-
.../administration-and-deployment/scheduler.html} | 942 +-
.../security/access-control.html} | 1182 +-
.../security/api.html} | 645 +-
.../security/audit_logs.html} | 361 +-
.../security/flower.html} | 357 +-
.../security}/index.html | 350 +-
.../security/kerberos.html} | 643 +-
.../security/secrets/fernet.html} | 379 +-
.../security/secrets}/index.html | 345 +-
.../security/secrets/mask-sensitive-values.html} | 383 +-
.../security/secrets/secrets-backend/index.html} | 618 +-
.../local-filesystem-secrets-backend.html} | 656 +-
.../security/webserver.html} | 766 +-
.../security/workload.html} | 360 +-
docs-archive/apache-airflow/2.6.0/airflow.sh | 39 +
.../authoring-and-scheduling/connections.html} | 322 +-
.../dagfile-processing.html} | 321 +-
.../2.6.0/authoring-and-scheduling/datasets.html} | 638 +-
.../2.6.0/authoring-and-scheduling/deferring.html} | 602 +-
.../dynamic-task-mapping.html} | 1089 +-
.../2.6.0/authoring-and-scheduling}/index.html | 353 +-
.../2.6.0/authoring-and-scheduling/plugins.html} | 889 +-
.../authoring-and-scheduling/serializers.html} | 595 +-
.../2.6.0/authoring-and-scheduling/timetable.html} | 677 +-
.../2.6.0/authoring-and-scheduling/timezone.html} | 654 +-
.../apache-airflow/2.6.0/best-practices.html | 1791 +++
docs-archive/apache-airflow/2.6.0/build.rst | 896 ++
docs-archive/apache-airflow/2.6.0/changelog.html | 1 +
.../2.6.0/cli-and-env-variables-ref.html | 6028 ++++++++
docs-archive/apache-airflow/2.6.0/cli-ref.html | 1 +
docs-archive/apache-airflow/2.6.0/concepts.html | 1 +
.../2.6.0/concepts/cluster-policies.html | 1 +
.../apache-airflow/2.6.0/concepts/connections.html | 1 +
.../2.6.0/concepts/dagfile-processing.html | 1 +
.../apache-airflow/2.6.0/concepts/dags.html | 1 +
.../apache-airflow/2.6.0/concepts/datasets.html | 1 +
.../apache-airflow/2.6.0/concepts/deferring.html | 1 +
.../2.6.0/concepts/dynamic-task-mapping.html | 1 +
.../apache-airflow/2.6.0/concepts/index.html | 1 +
.../apache-airflow/2.6.0/concepts/operators.html | 1 +
.../apache-airflow/2.6.0/concepts/overview.html | 1 +
.../apache-airflow/2.6.0/concepts/params.html | 1 +
.../apache-airflow/2.6.0/concepts/pools.html | 1 +
.../2.6.0/concepts/priority-weight.html | 1 +
.../apache-airflow/2.6.0/concepts/scheduler.html | 1 +
.../apache-airflow/2.6.0/concepts/sensors.html | 1 +
.../apache-airflow/2.6.0/concepts/taskflow.html | 1 +
.../apache-airflow/2.6.0/concepts/tasks.html | 1 +
.../apache-airflow/2.6.0/concepts/timetable.html | 1 +
.../apache-airflow/2.6.0/concepts/variables.html | 1 +
.../apache-airflow/2.6.0/concepts/xcoms.html | 1 +
.../apache-airflow/2.6.0/configurations-ref.html | 8767 +++++++++++
.../2.6.0/core-concepts/dag-run.html} | 848 +-
.../apache-airflow/2.6.0/core-concepts/dags.html | 1881 +++
.../2.6.0/core-concepts/executor/celery.html} | 675 +-
.../core-concepts/executor/celery_kubernetes.html} | 355 +-
.../2.6.0/core-concepts/executor/dask.html} | 353 +-
.../2.6.0/core-concepts/executor/debug.html} | 590 +-
.../2.6.0/core-concepts/executor}/index.html | 369 +-
.../2.6.0/core-concepts/executor/kubernetes.html} | 1058 +-
.../2.6.0/core-concepts/executor/local.html} | 357 +-
.../core-concepts/executor/local_kubernetes.html} | 340 +-
.../2.6.0/core-concepts/executor/sequential.html} | 337 +-
.../2.6.0/core-concepts}/index.html | 375 +-
.../2.6.0/core-concepts/operators.html} | 674 +-
.../2.6.0/core-concepts/overview.html} | 349 +-
.../2.6.0/core-concepts/params.html} | 659 +-
.../2.6.0/core-concepts/sensors.html} | 308 +-
.../2.6.0/core-concepts/taskflow.html} | 673 +-
.../2.6.0/core-concepts/tasks.html} | 732 +-
.../2.6.0/core-concepts/variables.html} | 323 +-
.../2.6.0/core-concepts/xcoms.html} | 351 +-
docs-archive/apache-airflow/2.6.0/dag-run.html | 1 +
.../apache-airflow/2.6.0/dag-serialization.html | 1 +
.../2.6.0/database-erd-ref.html} | 246 +-
.../2.6.0/deprecated-rest-api-ref.html} | 344 +-
.../apache-airflow/2.6.0/docker-compose.yaml | 298 +
docs-archive/apache-airflow/2.6.0/errors.html | 1 +
.../apache-airflow/2.6.0/executor/celery.html | 1 +
.../2.6.0/executor/celery_kubernetes.html | 1 +
.../apache-airflow/2.6.0/executor/dask.html | 1 +
.../apache-airflow/2.6.0/executor/debug.html | 1 +
.../apache-airflow/2.6.0/executor/index.html | 1 +
.../apache-airflow/2.6.0/executor/kubernetes.html | 1 +
.../apache-airflow/2.6.0/executor/local.html | 1 +
.../2.6.0/executor/local_kubernetes.html | 1 +
.../apache-airflow/2.6.0/executor/sequential.html | 1 +
.../2.6.0/extra-packages-ref.html} | 1103 +-
.../2.6.0/faq.html} | 972 +-
docs-archive/apache-airflow/2.6.0/genindex.html | 3282 ++++
.../2.6.0/howto/add-dag-tags.html} | 340 +-
.../apache-airflow/2.6.0/howto/add-new-role.html | 1 +
.../2.6.0/howto/add-owner-links.html} | 347 +-
.../apache-airflow/2.6.0/howto/check-health.html | 1 +
.../2.6.0/howto/connection.html} | 987 +-
.../2.6.0/howto/connection/index.html | 1 +
.../2.6.0/howto/create-custom-decorator.html} | 644 +-
.../2.6.0/howto/custom-operator.html} | 872 +-
.../2.6.0/howto/custom-view-plugin.html} | 625 +-
.../howto/customize-dag-ui-page-instance-name.html | 1 +
.../2.6.0/howto/customize-state-colors-ui.html | 1 +
.../2.6.0/howto/customize-ui.html} | 693 +-
.../2.6.0/howto/define-extra-link.html} | 732 +-
.../2.6.0/howto/define_extra_link.html | 1 +
.../2.6.0/howto/docker-compose/index.html} | 949 +-
.../2.6.0/howto/dynamic-dag-generation.html} | 792 +-
.../2.6.0/howto/email-config.html} | 671 +-
.../2.6.0/howto/export-more-env-vars.html} | 352 +-
.../2.6.0/howto/index.html} | 610 +-
.../2.6.0/howto/initialize-database.html | 1 +
.../2.6.0/howto/listener-plugin.html} | 617 +-
.../2.6.0/howto/notifications.html} | 574 +-
.../2.6.0/howto/operator/bash.html} | 695 +-
.../2.6.0/howto/operator/datetime.html} | 642 +-
.../2.6.0/howto/operator/external.html | 1 +
.../howto/operator/external_task_sensor.html} | 635 +-
.../2.6.0/howto/operator/file.html} | 567 +-
.../2.6.0/howto/operator/index.html} | 577 +-
.../2.6.0/howto/operator/python.html} | 917 +-
.../2.6.0/howto/operator/time.html} | 602 +-
.../2.6.0/howto/operator/weekday.html} | 685 +-
.../2.6.0/howto/run-behind-proxy.html} | 392 +-
.../2.6.0/howto/run-with-systemd.html} | 346 +-
.../2.6.0/howto/secure-connections.html | 1 +
.../2.6.0/howto/set-config.html} | 611 +-
.../2.6.0/howto/set-up-database.html} | 871 +-
.../2.6.0/howto/timetable.html} | 974 +-
.../2.6.0/howto/tracking-user-activity.html | 1 +
.../2.6.0/howto/upgrading-from-1-10/index.html | 2331 +++
.../howto/upgrading-from-1-10/upgrade-check.html} | 704 +-
.../2.6.0/howto/usage-cli.html} | 903 +-
.../howto/use-alternative-secrets-backend.html | 1 +
.../2.6.0/howto/use-test-config.html} | 341 +-
.../2.6.0/howto/variable.html} | 566 +-
.../apache-airflow/2.6.0/howto/write-logs.html | 1 +
.../2.6.0/http-routingtable.html} | 339 +-
.../2.6.0}/index.html | 303 +-
.../apache-airflow/2.6.0/installation.html | 1 +
.../2.6.0/installation/dependencies.html} | 371 +-
.../2.6.0/installation/index.html} | 706 +-
.../2.6.0/installation/installing-from-pypi.html} | 483 +-
.../installation/installing-from-sources.html} | 589 +-
.../2.6.0/installation/prerequisites.html} | 339 +-
.../installation/setting-up-the-database.html} | 317 +-
.../2.6.0/installation/supported-versions.html} | 399 +-
.../2.6.0/installation/upgrading.html} | 775 +-
.../2.6.0/integration.html} | 246 +-
docs-archive/apache-airflow/2.6.0/kubernetes.html | 1 +
.../2.6.0/license.html} | 407 +-
docs-archive/apache-airflow/2.6.0/lineage.html | 1 +
docs-archive/apache-airflow/2.6.0/listeners.html | 1 +
.../2.6.0/logging-monitoring/callbacks.html | 1 +
.../2.6.0/logging-monitoring/check-health.html | 1 +
.../2.6.0/logging-monitoring/errors.html | 1 +
.../2.6.0/logging-monitoring/index.html | 1 +
.../logging-monitoring/logging-architecture.html | 1 +
.../2.6.0/logging-monitoring/logging-tasks.html | 1 +
.../2.6.0/logging-monitoring/metrics.html | 1 +
.../logging-monitoring/tracking-user-activity.html | 1 +
docs-archive/apache-airflow/2.6.0/macros-ref.html | 1 +
docs-archive/apache-airflow/2.6.0/metrics.html | 1 +
.../2.6.0/migrations-ref.html} | 1157 +-
.../apache-airflow/2.6.0/modules_management.html | 1 +
docs-archive/apache-airflow/2.6.0/objects.inv | Bin 0 -> 20802 bytes
.../2.6.0/operators-and-hooks-ref.html} | 361 +-
.../_static/redoc.js | 8 +
docs-archive/apache-airflow/2.6.0/plugins.html | 1 +
.../2.6.0/privacy_notice.html} | 262 +-
.../2.6.0/production-deployment.html | 1 +
.../2.6.0/project.html} | 313 +-
.../2.6.0/public-airflow-interface.html} | 888 +-
.../2.6.0/py-modindex.html} | 1088 +-
.../apache-airflow/2.6.0/python-api-ref.html | 1 +
.../2.6.0/release-process.html} | 282 +-
.../apache-airflow/2.6.0/release_notes.html | 15009 +++++++++++++++++++
.../apache-airflow/2.6.0/rest-api-ref.html | 1 +
docs-archive/apache-airflow/2.6.0/scheduler.html | 1 +
.../2.6.0/search.html} | 277 +-
docs-archive/apache-airflow/2.6.0/searchindex.js | 1 +
docs-archive/apache-airflow/2.6.0/security.html | 1 +
.../2.6.0/security/access-control.html | 1 +
.../apache-airflow/2.6.0/security/api.html | 1 +
.../apache-airflow/2.6.0/security/flower.html | 1 +
.../apache-airflow/2.6.0/security/index.html | 1 +
.../apache-airflow/2.6.0/security/kerberos.html | 1 +
.../2.6.0/security/secrets/fernet.html | 1 +
.../2.6.0/security/secrets/index.html | 1 +
.../security/secrets/mask-sensitive-values.html | 1 +
.../security/secrets/secrets-backend/index.html | 1 +
.../local-filesystem-secrets-backend.html | 1 +
.../apache-airflow/2.6.0/security/webserver.html | 1 +
.../apache-airflow/2.6.0/security/workload.html | 1 +
.../apache-airflow/2.6.0/stable-rest-api-ref.html | 34 +
.../index.html => apache-airflow/2.6.0/start.html} | 311 +-
.../apache-airflow/2.6.0/start/docker.html | 1 +
docs-archive/apache-airflow/2.6.0/start/index.html | 1 +
docs-archive/apache-airflow/2.6.0/start/local.html | 1 +
.../2.6.0/templates-ref.html} | 778 +-
docs-archive/apache-airflow/2.6.0/timezone.html | 1 +
docs-archive/apache-airflow/2.6.0/tutorial.html | 1 +
.../2.6.0/tutorial/fundamentals.html} | 1167 +-
.../2.6.0/tutorial}/index.html | 286 +-
.../2.6.0/tutorial/pipeline.html} | 692 +-
.../apache-airflow/2.6.0/tutorial/taskflow.html | 1785 +++
.../2.6.0/tutorial_taskflow_api.html | 1 +
.../index.html => apache-airflow/2.6.0/ui.html} | 375 +-
.../apache-airflow/2.6.0/upgrade-check.html | 1 +
.../2.6.0/upgrading-from-1-10/index.html | 1 +
.../2.6.0/upgrading-from-1-10/upgrade-check.html | 1 +
.../apache-airflow/2.6.0/upgrading-to-2.html | 1 +
docs-archive/apache-airflow/2.6.0/usage-cli.html | 1 +
docs-archive/apache-airflow/stable.txt | 2 +-
docs-archive/docker-stack/.buildinfo | 2 +-
.../docker-stack/_sources/build-arg-ref.rst.txt | 4 +-
.../docker-stack/_sources/changelog.rst.txt | 8 +
.../docker-stack/_sources/entrypoint.rst.txt | 18 +-
docs-archive/docker-stack/_static/copybutton.js | 4 +-
docs-archive/docker-stack/build-arg-ref.html | 20 +-
docs-archive/docker-stack/build.html | 108 +-
docs-archive/docker-stack/changelog.html | 17 +-
docs-archive/docker-stack/entrypoint.html | 58 +-
docs-archive/docker-stack/index.html | 30 +-
docs-archive/docker-stack/recipes.html | 6 +-
docs-archive/docker-stack/searchindex.js | 2 +-
785 files changed, 193666 insertions(+), 83879 deletions(-)
diff --git a/docs-archive/docker-stack/.buildinfo b/docs-archive/apache-airflow/2.6.0/.buildinfo
similarity index 82%
copy from docs-archive/docker-stack/.buildinfo
copy to docs-archive/apache-airflow/2.6.0/.buildinfo
index 558b57a6e8..aed8ded1d7 100644
--- a/docs-archive/docker-stack/.buildinfo
+++ b/docs-archive/apache-airflow/2.6.0/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 59c998a47a5292f111972a83cf0065a8
+config: 4a97fb7e9818542e1534ae75c6e0a0db
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/base/index.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/base/index.html
new file mode 100644
index 0000000000..8da402eff4
--- /dev/null
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/base/index.html
@@ -0,0 +1,1417 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>airflow.decorators.base — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.decorators.branch_python" href="../branch_python/index.html" />
+ <link rel="prev" title="airflow.decorators" href="../index.html" />
+ <!-- Matomo -->
+ <script>
+ var _paq = window._paq = window._paq || [];
+ /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+ /* We explicitly disable cookie tracking to avoid privacy issues */
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '13']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+ </script>
+ <!-- End Matomo Code -->
+
+
+</head><body class="td-section">
+
+
+<header>
+ <nav class="js-navbar-scroll navbar">
+ <div class="navbar__icon-container">
+ <a href="/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+ <defs>
+ <clipPath id="clip-path">
+ <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+ </clipPath>
+ </defs>
+ <g id="logo" transform="translate(-1305 -780.355)">
+ <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+ <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+ <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+ <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+ <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+ <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+ <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+ <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+ <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+ <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+ <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+ <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+ <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+ <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+ </g>
+ </g>
+ </g>
+ </svg>
+
+ </a>
+ </div>
+ <div class="desktop-only navbar__menu-container">
+
+ <div class="navbar__menu-content" id="main_navbar">
+
+ <div class="navbar__links-container">
+
+ <a class="navbar__text-link" href="/community/">
+ Community
+ </a>
+
+ <a class="navbar__text-link" href="/meetups/">
+ Meetups
+ </a>
+
+ <a class="navbar__text-link" href="/docs/">
+ Documentation
+ </a>
+
+ <a class="navbar__text-link" href="/use-cases/">
+ Use-cases
+ </a>
+
+ <a class="navbar__text-link" href="/announcements/">
+ Announcements
+ </a>
+
+ <a class="navbar__text-link" href="/blog/">
+ Blog
+ </a>
+
+ <a class="navbar__text-link" href="/ecosystem/">
+ Ecosystem
+ </a>
+
+ </div>
+
+
+
+ </div>
+
+ </div>
+ <div class="mobile-only navbar__drawer-container">
+ <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+ <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+ <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+ <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+ <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+ </g>
+ <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+ <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+ </g>
+ </g>
+ </svg>
+
+ </div>
+
+ <div id="close-icon" class="navbar__toggle-button--icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+ <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+ <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+ </g>
+ </g>
+ </svg>
+
+ </div>
+
+ </button>
+ <div class="navbar__drawer" id="navbar-drawer">
+ <div class="navbar__menu-content" id="main_navbar">
+
+ <div class="navbar__links-container">
+
+ <a class="navbar__text-link" href="/community/">
+ Community
+ </a>
+
+ <a class="navbar__text-link" href="/meetups/">
+ Meetups
+ </a>
+
+ <a class="navbar__text-link" href="/docs/">
+ Documentation
+ </a>
+
+ <a class="navbar__text-link" href="/use-cases/">
+ Use-cases
+ </a>
+
+ <a class="navbar__text-link" href="/announcements/">
+ Announcements
+ </a>
+
+ <a class="navbar__text-link" href="/blog/">
+ Blog
+ </a>
+
+ <a class="navbar__text-link" href="/ecosystem/">
+ Ecosystem
+ </a>
+
+
+ </div>
+
+
+ </div>
+ </div>
+ </div>
+ </nav>
+
+</header>
+
+
+ <div class="roadmap container-fluid td-default base-layout">
+
+
+ <div class="content-drawer-wrapper">
+ <button class="content-drawer__toggle-button" id="content-open-button">
+
+ <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+ <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+ <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+ <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+ <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+ </g>
+ <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+ <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+ </g>
+ <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+ <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+ </g>
+ <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+ <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+ </g>
+ <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+ <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+ </g>
+ <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+ <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+ </g>
+ </g>
+ </svg>
+
+ <span class="bodytext__mobile--brownish-grey">Content</span>
+ </div>
+
+ </button>
+ <nav id="content-navbar" class="navbar navbar--hidden">
+ <div class="navbar__icon-container">
+ <a href="/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+ <defs>
+ <clipPath id="clip-path">
+ <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+ </clipPath>
+ </defs>
+ <g id="logo" transform="translate(-1305 -780.355)">
+ <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+ <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+ <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+ <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+ <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+ <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+ <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+ <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+ <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+ <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+ <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+ <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+ <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+ <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+ </g>
+ </g>
+ </g>
+ </svg>
+
+ </a>
+ </div>
+
+ <div id="content-close-button">
+ <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+ <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+ <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+ </g>
+ </g>
+ </svg>
+
+ </div>
+
+ </nav>
+ <div class="content-drawer-container" id="content-drawer">
+ <div class="content-drawer">
+ <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
+<div class="searchb-box">
+ <form class="search-form" action="../../../../search.html" method="get">
+ <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+
+ <button class="search-form__button" type="submit">
+
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+ <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+ <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+ </g>
+ </svg>
+ </button>
+ </form>
+</div>
+
+
+<style>
+ .searchb-box {
+ margin-bottom: 26px;
+ }
+ .searchb-box .search-form {
+ width: 100%;
+ margin-top: 20px;
+ }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory"><code class="docutils literal notranslate"><span class="pre">ExpandableFactory</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory.function"><code class="docutils literal notranslate"><span class="pre">ExpandableFactory.function</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory.function_signature"><code class="docutils literal notranslate"><span class="pre">ExpandableFactory.function_signature()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.get_unique_task_id"><code class="docutils literal notranslate"><span class="pre">get_unique_task_id()</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.template_fields"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.template_fields</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.template_fields_renderers"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.template_fields_renderers</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.shallow_copy_attrs"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.shallow_copy_attrs</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.execute"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.execute()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.get_python_source"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.get_python_source()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.FParams"><code class="docutils literal notranslate"><span class="pre">FParams</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.FReturn"><code class="docutils literal notranslate"><span class="pre">FReturn</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.OperatorSubclass"><code class="docutils literal notranslate"><span class="pre">OperatorSubclass</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.multiple_outputs"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.multiple_outputs</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.python_callable"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.python_callable</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.op_kwargs_expand_input"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.op_kwargs_expand_input</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.__hash__"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.__hash__()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.__attrs_post_init__"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.__attrs_post_init__()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.Task"><code class="docutils literal notranslate"><span class="pre">Task</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.__wrapped__"><code class="docutils literal notranslate"><span class="pre">Task.__wrapped__</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.__call__"><code class="docutils literal notranslate"><span class="pre">Task.__call__</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.function"><code class="docutils literal notranslate"><span class="pre">Task.function</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.partial"><code class="docutils literal notranslate"><span class="pre">Task.partial()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.expand"><code class="docutils literal notranslate"><span class="pre">Task.expand()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.expand_kwargs"><code class="docutils literal notranslate"><span class="pre">Task.expand_kwargs()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.override"><code class="docutils literal notranslate"><span class="pre">Task.override()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.TaskDecorator"><code class="docutils literal notranslate"><span class="pre">TaskDecorator</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.TaskDecorator.__call__"><code class="docutils literal notranslate"><span class="pre">TaskDecorator.__call__()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.TaskDecorator.override"><code class="docutils literal notranslate"><span class="pre">TaskDecorator.override()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.task_decorator_factory"><code class="docutils literal notranslate"><span class="pre">task_decorator_factory()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+ .toctree {
+ }
+ .toctree li {
+ list-style: none;
+ }
+ .toctree .caption {
+ font-family: Roboto;
+ font-size: 18px;
+ font-weight: bold;
+ font-stretch: normal;
+ font-style: normal;
+ line-height: 1.33;
+ letter-spacing: normal;
+ color: #51504f;
+ padding-bottom: 13px;
+ text-transform: uppercase;
+ margin-bottom: 0;
+ }
+ .toctree .current > a:not([href="#"]) {
+ color: #017cee;
+ }
+ .toctree > ul {
+ padding-left: 0;
+ }
+ .toctree ul {
+ padding-left: 15px;
+ display: none;
+ }
+ .toctree > ul,
+ .toctree li.current > ul {
+ display: block;
+ }
+
+ .toctree a .toctree-expand {
+ display: inline-block;
+ position: relative;
+ height: 1em;
+ }
+
+ .toctree a .toctree-expand:before {
+ position: absolute;
+ top: 6px;
+ left: -12px;
+ content: '►';
+ font-size: 7px;
+ }
+ .toctree .current > a > .toctree-expand:before {
+ content: '▼';
+ }
+
+ .toctree .current {
+ color: #017cee;
+ }
+ .toctree li {
+ font-family: Roboto;
+ font-size: 16px;
+ font-weight: normal;
+ font-stretch: normal;
+ font-style: normal;
+ line-height: 1.63;
+ letter-spacing: normal;
+ color: #707070;
+ }
+
+</style>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="d-flex">
+
+
+ <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
+<div class="searchb-box">
+ <form class="search-form" action="../../../../search.html" method="get">
+ <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+
+ <button class="search-form__button" type="submit">
+
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+ <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+ <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+ <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+ </g>
+ </svg>
+ </button>
+ </form>
+</div>
+
+
+<style>
+ .searchb-box {
+ margin-bottom: 26px;
+ }
+ .searchb-box .search-form {
+ width: 100%;
+ margin-top: 20px;
+ }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory"><code class="docutils literal notranslate"><span class="pre">ExpandableFactory</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory.function"><code class="docutils literal notranslate"><span class="pre">ExpandableFactory.function</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory.function_signature"><code class="docutils literal notranslate"><span class="pre">ExpandableFactory.function_signature()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.get_unique_task_id"><code class="docutils literal notranslate"><span class="pre">get_unique_task_id()</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.template_fields"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.template_fields</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.template_fields_renderers"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.template_fields_renderers</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.shallow_copy_attrs"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.shallow_copy_attrs</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.execute"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.execute()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.get_python_source"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.get_python_source()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.FParams"><code class="docutils literal notranslate"><span class="pre">FParams</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.FReturn"><code class="docutils literal notranslate"><span class="pre">FReturn</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.OperatorSubclass"><code class="docutils literal notranslate"><span class="pre">OperatorSubclass</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.multiple_outputs"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.multiple_outputs</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.python_callable"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.python_callable</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.op_kwargs_expand_input"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.op_kwargs_expand_input</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.__hash__"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.__hash__()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.__attrs_post_init__"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.__attrs_post_init__()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.Task"><code class="docutils literal notranslate"><span class="pre">Task</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.__wrapped__"><code class="docutils literal notranslate"><span class="pre">Task.__wrapped__</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.__call__"><code class="docutils literal notranslate"><span class="pre">Task.__call__</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.function"><code class="docutils literal notranslate"><span class="pre">Task.function</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.partial"><code class="docutils literal notranslate"><span class="pre">Task.partial()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.expand"><code class="docutils literal notranslate"><span class="pre">Task.expand()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.expand_kwargs"><code class="docutils literal notranslate"><span class="pre">Task.expand_kwargs()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.Task.override"><code class="docutils literal notranslate"><span class="pre">Task.override()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.TaskDecorator"><code class="docutils literal notranslate"><span class="pre">TaskDecorator</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.TaskDecorator.__call__"><code class="docutils literal notranslate"><span class="pre">TaskDecorator.__call__()</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.base.TaskDecorator.override"><code class="docutils literal notranslate"><span class="pre">TaskDecorator.override()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.base.task_decorator_factory"><code class="docutils literal notranslate"><span class="pre">task_decorator_factory()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+ .toctree {
+ }
+ .toctree li {
+ list-style: none;
+ }
+ .toctree .caption {
+ font-family: Roboto;
+ font-size: 18px;
+ font-weight: bold;
+ font-stretch: normal;
+ font-style: normal;
+ line-height: 1.33;
+ letter-spacing: normal;
+ color: #51504f;
+ padding-bottom: 13px;
+ text-transform: uppercase;
+ margin-bottom: 0;
+ }
+ .toctree .current > a:not([href="#"]) {
+ color: #017cee;
+ }
+ .toctree > ul {
+ padding-left: 0;
+ }
+ .toctree ul {
+ padding-left: 15px;
+ display: none;
+ }
+ .toctree > ul,
+ .toctree li.current > ul {
+ display: block;
+ }
+
+ .toctree a .toctree-expand {
+ display: inline-block;
+ position: relative;
+ height: 1em;
+ }
+
+ .toctree a .toctree-expand:before {
+ position: absolute;
+ top: 6px;
+ left: -12px;
+ content: '►';
+ font-size: 7px;
+ }
+ .toctree .current > a > .toctree-expand:before {
+ content: '▼';
+ }
+
+ .toctree .current {
+ color: #017cee;
+ }
+ .toctree li {
+ font-family: Roboto;
+ font-size: 16px;
+ font-weight: normal;
+ font-stretch: normal;
+ font-style: normal;
+ line-height: 1.63;
+ letter-spacing: normal;
+ color: #707070;
+ }
+
+</style>
+ </div>
+
+
+
+
+ <main class="col-12 col-md-9 col-xl-8" role="main">
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+ <ul class="breadcrumb">
+
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
+
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+
+ </ul>
+</div>
+
+ <div class="rst-content">
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <div class="section" id="module-airflow.decorators.base">
+<span id="airflow-decorators-base"></span><h1><a class="reference internal" href="#module-airflow.decorators.base" title="airflow.decorators.base"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a><a class="headerlink" href="#module-airflow.decorators.base" title="Permalink to this heading">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory" title="airflow.decorators.base.ExpandableFactory"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ExpandableFactory</span></code></a></p></td>
+<td><p>Protocol providing inspection against wrapped function.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator" title="airflow.decorators.base.DecoratedOperator"><code class="xref py py-obj docutils literal notranslate"><span class="pre">DecoratedOperator</span></code></a></p></td>
+<td><p>Wraps a Python callable and captures args/kwargs when called for execution.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator" title="airflow.decorators.base.DecoratedMappedOperator"><code class="xref py py-obj docutils literal notranslate"><span class="pre">DecoratedMappedOperator</span></code></a></p></td>
+<td><p>MappedOperator implementation for @task-decorated task function.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.decorators.base.Task" title="airflow.decorators.base.Task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Task</span></code></a></p></td>
+<td><p>Declaration of a @task-decorated callable for type-checking.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.base.TaskDecorator" title="airflow.decorators.base.TaskDecorator"><code class="xref py py-obj docutils literal notranslate"><span class="pre">TaskDecorator</span></code></a></p></td>
+<td><p>Type declaration for <code class="docutils literal notranslate"><span class="pre">task_decorator_factory</span></code> return type.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.base.get_unique_task_id" title="airflow.decorators.base.get_unique_task_id"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_unique_task_id</span></code></a>(task_id[, dag, task_group])</p></td>
+<td><p>Generate unique task id given a DAG (or if run in a DAG context).</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.decorators.base.task_decorator_factory" title="airflow.decorators.base.task_decorator_factory"><code class="xref py py-obj docutils literal notranslate"><span class="pre">task_decorator_factory</span></code></a>([python_callable, multiple_outputs])</p></td>
+<td><p>Generate a wrapper that wraps a function into an Airflow operator.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.base.FParams" title="airflow.decorators.base.FParams"><code class="xref py py-obj docutils literal notranslate"><span class="pre">FParams</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.decorators.base.FReturn" title="airflow.decorators.base.FReturn"><code class="xref py py-obj docutils literal notranslate"><span class="pre">FReturn</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.base.OperatorSubclass" title="airflow.decorators.base.OperatorSubclass"><code class="xref py py-obj docutils literal notranslate"><span class="pre">OperatorSubclass</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.decorators.base.ExpandableFactory">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">ExpandableFactory</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#ExpandableFactory"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.Expan [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.typing_compat.Protocol</span></code></p>
+<p>Protocol providing inspection against wrapped function.</p>
+<p>This is used in <code class="docutils literal notranslate"><span class="pre">validate_expand_kwargs</span></code> and implemented by function
+decorators like <code class="docutils literal notranslate"><span class="pre">@task</span></code> and <code class="docutils literal notranslate"><span class="pre">@task_group</span></code>.</p>
+<dl class="field-list simple">
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.base.ExpandableFactory.function">
+<span class="sig-name descname"><span class="pre">function</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Callable</span></em><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#ExpandableFactory.function"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.ExpandableFactory.function" title="Permalink to t [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.ExpandableFactory.function_signature">
+<span class="sig-name descname"><span class="pre">function_signature</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#ExpandableFactory.function_signature"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.ExpandableFactory.function_signature" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.base.get_unique_task_id">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">get_unique_task_id</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dag</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em c [...]
+<dd><p>Generate unique task id given a DAG (or if run in a DAG context).</p>
+<p>IDs are generated by appending a unique number to the end of
+the original task id.</p>
+<dl class="simple">
+<dt>Example:</dt><dd><p>task_id
+task_id__1
+task_id__2
+…
+task_id__20</p>
+</dd>
+</dl>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedOperator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">DecoratedOperator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">python_callable</span></span></em>, <em class="sig-param"><span class [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.models.baseoperator.BaseOperator</span></code></p>
+<p>Wraps a Python callable and captures args/kwargs when called for execution.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>python_callable</strong> (<em>Callable</em>) – A reference to an object that is callable</p></li>
+<li><p><strong>op_kwargs</strong> (<em>Mapping</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><em>str</em></a><em>, </em><em>Any</em><em>] </em><em>| </em><em>None</em>) – a dictionary of keyword arguments that will get unpacked
+in your function (templated)</p></li>
+<li><p><strong>op_args</strong> (<em>Collection</em><em>[</em><em>Any</em><em>] </em><em>| </em><em>None</em>) – a list of positional arguments that will get unpacked when
+calling your callable (templated)</p></li>
+<li><p><strong>multiple_outputs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.11)"><em>bool</em></a>) – If set to True, the decorated function’s return value will be unrolled to
+multiple XCom values. Dict will unroll to XCom values with its keys as XCom keys. Defaults to False.</p></li>
+<li><p><strong>kwargs_to_upstream</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.11)"><em>dict</em></a><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><em>str</em></a><em>, </em><em>Any</em><em>] </em><em>| </em><em>None</em>) – For certain operators, we might need to upstream certain arguments
+that would otherwise be absorbed by the DecoratedOperator (for example python_callable for the
+PythonOperator). This gives a user the option to upstream kwargs as needed.</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedOperator.template_fields">
+<span class="sig-name descname"><span class="pre">template_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Sequence</span><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></em><em class="property"><span class="w" [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedOperator.template_fields_renderers">
+<span class="sig-name descname"><span class="pre">template_fields_renderers</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#DecoratedOperator.template_fields_renderers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.DecoratedOperator.template_fields_renderers" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedOperator.shallow_copy_attrs">
+<span class="sig-name descname"><span class="pre">shallow_copy_attrs</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Sequence</span><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></em><em class="property"><span class= [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedOperator.execute">
+<span class="sig-name descname"><span class="pre">execute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#DecoratedOperator.execute"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.DecoratedOperator.execute" title="Per [...]
+<dd><p>This is the main method to derive when creating an operator.
+Context is the same dictionary used as when rendering jinja templates.</p>
+<p>Refer to get_template_context for more context.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedOperator.get_python_source">
+<span class="sig-name descname"><span class="pre">get_python_source</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#DecoratedOperator.get_python_source"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.DecoratedOperator.get_python_source" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.decorators.base.FParams">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">FParams</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#FParams"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.FParams" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.decorators.base.FReturn">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">FReturn</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#FReturn"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.FReturn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.decorators.base.OperatorSubclass">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">OperatorSubclass</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#OperatorSubclass"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.OperatorSubclass" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedMappedOperator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">DecoratedMappedOperator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">context</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><s [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.models.mappedoperator.MappedOperator</span></code></p>
+<p>MappedOperator implementation for @task-decorated task function.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedMappedOperator.multiple_outputs">
+<span class="sig-name descname"><span class="pre">multiple_outputs</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.11)"><span class="pre">bool</span></a></em><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#DecoratedMappedOperator.multiple_outputs"><span class="viewcode-link"><span c [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedMappedOperator.python_callable">
+<span class="sig-name descname"><span class="pre">python_callable</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Callable</span></em><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#DecoratedMappedOperator.python_callable"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.DecoratedMappedOperator.pytho [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedMappedOperator.op_kwargs_expand_input">
+<span class="sig-name descname"><span class="pre">op_kwargs_expand_input</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">airflow.models.expandinput.ExpandInput</span></em><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#DecoratedMappedOperator.op_kwargs_expand_input"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.d [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedMappedOperator.__hash__">
+<span class="sig-name descname"><span class="pre">__hash__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#DecoratedMappedOperator.__hash__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.DecoratedMappedOperator.__hash__" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return hash(self).</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.DecoratedMappedOperator.__attrs_post_init__">
+<span class="sig-name descname"><span class="pre">__attrs_post_init__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#DecoratedMappedOperator.__attrs_post_init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.DecoratedMappedOperator.__attrs_post_init__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.decorators.base.Task">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">Task</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#Task"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.Task" title="Permalink to this [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.typing_compat.Protocol</span></code>, <code class="xref py py-obj docutils literal notranslate"><span class="pre">Generic</span></code>[<a class="reference internal" href="#airflow.decorators.base.FParams" title="airflow.decorators.base.FParams"><code class="xref py py-obj docutils literal notranslate"><span class="pre">FParams</span></code></a>, <a class="reference internal" href="#airflow. [...]
+<p>Declaration of a @task-decorated callable for type-checking.</p>
+<p>An instance of this type inherits the call signature of the decorated
+function wrapped in it (not <em>exactly</em> since it actually returns an XComArg,
+but there’s no way to express that right now), and provides two additional
+methods for task-mapping.</p>
+<p>This type is implemented by <code class="docutils literal notranslate"><span class="pre">_TaskDecorator</span></code> at runtime.</p>
+<dl class="py property">
+<dt class="sig sig-object py" id="airflow.decorators.base.Task.__wrapped__">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">__wrapped__</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="pre">FParams</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">FReturn</span><span class="p"><span [...]
+<dd><dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.base.Task.__call__">
+<span class="sig-name descname"><span class="pre">__call__</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="pre">FParams</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">airflow.models.xcom_arg.XComArg</span><span class="p"><span class="pre">]</span></span></em><a class="reference internal" [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.base.Task.function">
+<span class="sig-name descname"><span class="pre">function</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="pre">FParams</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">FReturn</span><span class="p"><span class="pre">]</span></span></em><a class="reference internal" href="../../../../_modu [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.Task.partial">
+<span class="sig-name descname"><span class="pre">partial</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#Task.partial"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.T [...]
+<dd><dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.Task.expand">
+<span class="sig-name descname"><span class="pre">expand</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#Task.expand"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.Tas [...]
+<dd><dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.Task.expand_kwargs">
+<span class="sig-name descname"><span class="pre">expand_kwargs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">kwargs</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">strict</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</s [...]
+<dd><dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.Task.override">
+<span class="sig-name descname"><span class="pre">override</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#Task.override"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base [...]
+<dd><dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.decorators.base.TaskDecorator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">TaskDecorator</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#TaskDecorator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.base.TaskDecorator [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.typing_compat.Protocol</span></code></p>
+<p>Type declaration for <code class="docutils literal notranslate"><span class="pre">task_decorator_factory</span></code> return type.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.TaskDecorator.__call__">
+<span class="sig-name descname"><span class="pre">__call__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">python_callable</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="pre">FParams</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">FReturn</ [...]
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">__call__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">multiple_outputs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.11)"><span class="pre"> [...]
+<dd><p>For the decorator factory <code class="docutils literal notranslate"><span class="pre">@task()</span></code> case.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.base.TaskDecorator.override">
+<span class="sig-name descname"><span class="pre">override</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/base.html#TaskDecorator.override"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decora [...]
+<dd><dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.base.task_decorator_factory">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.base.</span></span><span class="sig-name descname"><span class="pre">task_decorator_factory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">python_callable</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></ [...]
+<dd><p>Generate a wrapper that wraps a function into an Airflow operator.</p>
+<p>Can be reused in a single DAG.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>python_callable</strong> (<em>Callable</em><em> | </em><em>None</em>) – Function to decorate.</p></li>
+<li><p><strong>multiple_outputs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.11)"><em>bool</em></a><em> | </em><em>None</em>) – If set to True, the decorated function’s return
+value will be unrolled to multiple XCom values. Dict will unroll to XCom
+values with its keys as XCom keys. If set to False (default), only at
+most one XCom value is pushed.</p></li>
+<li><p><strong>decorated_operator_class</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#type" title="(in Python v3.11)"><em>type</em></a><em>[</em><em>airflow.models.baseoperator.BaseOperator</em><em>]</em>) – The operator that executes the logic needed
+to run the python function in the correct environment.</p></li>
+</ul>
+</dd>
+</dl>
+<p>Other kwargs are directly forwarded to the underlying operator class when
+it’s instantiated.</p>
+</dd></dl>
+
+</div>
+</div>
+</div>
+
+
+ <div class="pager" role="navigation" aria-label="related navigation">
+ <a rel="prev" title="airflow.decorators" href="../index.html" >
+ <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
+ </a>
+ <a rel="next" title="airflow.decorators.branch_python" href="../branch_python/index.html" >
+ <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
+ </a>
+ </div>
+ </div>
+
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="rating-container">
+ <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+ <div class="rating">
+
+ <div id="rate-star-5" class="rate-star">
+ <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+ <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+ <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+ </g>
+ </svg>
+
+ </div>
+
+ <div id="rate-star-4" class="rate-star">
+ <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+ <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+ <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+ </g>
+ </svg>
+
+ </div>
+
+ <div id="rate-star-3" class="rate-star">
+ <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+ <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+ <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+ </g>
+ </svg>
+
+ </div>
+
+ <div id="rate-star-2" class="rate-star">
+ <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+ <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+ <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+ </g>
+ </svg>
+
+ </div>
+
+ <div id="rate-star-1" class="rate-star">
+ <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+ <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+ <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+ </g>
+ </svg>
+
+ </div>
+
+ </div>
+ </div>
+
+ </main>
+
+
+
+
+ <nav class="wy-nav-side-toc">
+ <div class="wy-menu-vertical">
+ <ul>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a></li>
+<li><a class="reference internal" href="#functions">Functions</a></li>
+<li><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory"><code class="docutils literal notranslate"><span class="pre">ExpandableFactory</span></code></a><ul>
+<li><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory.function"><code class="docutils literal notranslate"><span class="pre">ExpandableFactory.function</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.ExpandableFactory.function_signature"><code class="docutils literal notranslate"><span class="pre">ExpandableFactory.function_signature()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.decorators.base.get_unique_task_id"><code class="docutils literal notranslate"><span class="pre">get_unique_task_id()</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator</span></code></a><ul>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.template_fields"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.template_fields</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.template_fields_renderers"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.template_fields_renderers</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.shallow_copy_attrs"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.shallow_copy_attrs</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.execute"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.execute()</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedOperator.get_python_source"><code class="docutils literal notranslate"><span class="pre">DecoratedOperator.get_python_source()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.decorators.base.FParams"><code class="docutils literal notranslate"><span class="pre">FParams</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.FReturn"><code class="docutils literal notranslate"><span class="pre">FReturn</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.OperatorSubclass"><code class="docutils literal notranslate"><span class="pre">OperatorSubclass</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator</span></code></a><ul>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.multiple_outputs"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.multiple_outputs</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.python_callable"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.python_callable</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.op_kwargs_expand_input"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.op_kwargs_expand_input</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.__hash__"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.__hash__()</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.DecoratedMappedOperator.__attrs_post_init__"><code class="docutils literal notranslate"><span class="pre">DecoratedMappedOperator.__attrs_post_init__()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.decorators.base.Task"><code class="docutils literal notranslate"><span class="pre">Task</span></code></a><ul>
+<li><a class="reference internal" href="#airflow.decorators.base.Task.__wrapped__"><code class="docutils literal notranslate"><span class="pre">Task.__wrapped__</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.Task.__call__"><code class="docutils literal notranslate"><span class="pre">Task.__call__</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.Task.function"><code class="docutils literal notranslate"><span class="pre">Task.function</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.Task.partial"><code class="docutils literal notranslate"><span class="pre">Task.partial()</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.Task.expand"><code class="docutils literal notranslate"><span class="pre">Task.expand()</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.Task.expand_kwargs"><code class="docutils literal notranslate"><span class="pre">Task.expand_kwargs()</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.Task.override"><code class="docutils literal notranslate"><span class="pre">Task.override()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.decorators.base.TaskDecorator"><code class="docutils literal notranslate"><span class="pre">TaskDecorator</span></code></a><ul>
+<li><a class="reference internal" href="#airflow.decorators.base.TaskDecorator.__call__"><code class="docutils literal notranslate"><span class="pre">TaskDecorator.__call__()</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.base.TaskDecorator.override"><code class="docutils literal notranslate"><span class="pre">TaskDecorator.override()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.decorators.base.task_decorator_factory"><code class="docutils literal notranslate"><span class="pre">task_decorator_factory()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </nav>
+
+ </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <div class="base-layout--button">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/base/index.rst" rel="nofollow">
+
+ <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+ <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+ <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.15 [...]
+ </svg>
+
+ <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+ </button>
+ </a>
+ </div>
+
+
+ </div>
+
+
+
+
+<footer>
+ <div class="footer-section footer-section__media-section">
+ <div class="d-flex align-items-center">
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+ <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+ <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+ </svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+ <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+ <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+ <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+ <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+ <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+ </g>
+ </svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+ <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+ <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+ <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+ <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+ <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+ </g>
+ <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+ <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+ <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+ </g>
+ <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+ <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+ <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+ </g>
+ <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+ <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+ <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+ </g>
+ </g>
+ </svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+ <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+ <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+ <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+ <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+ </g>
+ </svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+ <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+ <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+ <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+ </g>
+ </svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+ <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+ <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+ </svg>
+
+ </a>
+
+ </div>
+
+
+ <div class="footer-section__media-section--button-with-text">
+ <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+ <a href="/community">
+
+ <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+ </a>
+ </div>
+
+
+ </div>
+ <div class="footer-section footer-section__policies-section">
+ <div class="footer-section">
+ <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+ <div class="footer-section__policies-section--policies">
+
+ <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+ <span>License</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+ <span>Donate</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+ <span>Thanks</span>
+ </a>
+
+ <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+ <span>Security</span>
+ </a>
+
+
+ </div>
+ </div>
+ <span class="footer-section__policies-section--disclaimer">
+ Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+ All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+ </span>
+ </div>
+</footer>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+ <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/branch_python/index.html
similarity index 75%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/branch_python/index.html
index f730759719..d69c82cc78 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/branch_python/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.decorators.branch_python — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.decorators.external_python" href="../external_python/index.html" />
+ <link rel="prev" title="airflow.decorators.base" href="../base/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.branch_python.branch_task"><code class="docutils literal notranslate"><span class="pre">branch_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +487,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +531,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.branch_python.branch_task"><code class="docutils literal notranslate"><span class="pre">branch_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +701,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
+
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
</ul>
</div>
@@ -563,292 +718,52 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
+ <div class="section" id="module-airflow.decorators.branch_python">
+<span id="airflow-decorators-branch-python"></span><h1><a class="reference internal" href="#module-airflow.decorators.branch_python" title="airflow.decorators.branch_python"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a><a class="headerlink" href="#module-airflow.decorators.branch_python" title="Permalink to this heading">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
+<col style="width: 90%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
-</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.branch_python.branch_task" title="airflow.decorators.branch_python.branch_task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">branch_task</span></code></a>([python_callable, multiple_outputs])</p></td>
+<td><p>Wraps a python function into a BranchPythonOperator.</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.branch_python.branch_task">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.branch_python.</span></span><span class="sig-name descname"><span class="pre">branch_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">python_callable</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">multiple_outputs</s [...]
+<dd><p>Wraps a python function into a BranchPythonOperator.</p>
+<p>For more information on how to use this operator, take a look at the guide:
+<a class="reference internal" href="../../../../core-concepts/dags.html#concepts-branching"><span class="std std-ref">Branching</span></a></p>
+<p>Accepts kwargs for operator kwarg. Can be reused in a single DAG.</p>
<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>python_callable</strong> (<em>Callable</em><em> | </em><em>None</em>) – Function to decorate</p></li>
+<li><p><strong>multiple_outputs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.11)"><em>bool</em></a><em> | </em><em>None</em>) – if set, function return value will be
+unrolled to multiple XCom values. Dict will unroll to xcom values with keys as XCom keys.
+Defaults to False.</p></li>
</ul>
</dd>
</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
+</dd></dl>
+
</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.decorators.base" href="../base/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="airflow.decorators.external_python" href="../external_python/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +833,14 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#functions">Functions</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.branch_python.branch_task"><code class="docutils literal notranslate"><span class="pre">branch_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +865,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/branch_python/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +999,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/external_python/index.html
similarity index 75%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/external_python/index.html
index f730759719..aad692f1b5 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/external_python/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.decorators.external_python — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.decorators.python" href="../python/index.html" />
+ <link rel="prev" title="airflow.decorators.branch_python" href="../branch_python/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.external_python.external_python_task"><code class="docutils literal notranslate"><span class="pre">external_python_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +487,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +531,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.external_python.external_python_task"><code class="docutils literal notranslate"><span class="pre">external_python_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +701,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
+
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
</ul>
</div>
@@ -563,292 +718,54 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
+ <div class="section" id="module-airflow.decorators.external_python">
+<span id="airflow-decorators-external-python"></span><h1><a class="reference internal" href="#module-airflow.decorators.external_python" title="airflow.decorators.external_python"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a><a class="headerlink" href="#module-airflow.decorators.external_python" title="Permalink to this heading">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
+<col style="width: 90%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
-</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.external_python.external_python_task" title="airflow.decorators.external_python.external_python_task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">external_python_task</span></code></a>([python, python_callable, ...])</p></td>
+<td><p>Wraps a callable into an Airflow operator to run via a Python virtual environment.</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.external_python.external_python_task">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.external_python.</span></span><span class="sig-name descname"><span class="pre">external_python_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">python</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">python_callable</ [...]
+<dd><p>Wraps a callable into an Airflow operator to run via a Python virtual environment.</p>
+<p>Accepts kwargs for operator kwarg. Can be reused in a single DAG.</p>
+<p>This function is only used during type checking or auto-completion.</p>
<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>python</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><em>str</em></a><em> | </em><em>None</em>) – Full path string (file-system specific) that points to a Python binary inside
+a virtualenv that should be used (in <code class="docutils literal notranslate"><span class="pre">VENV/bin</span></code> folder). Should be absolute path
+(so usually start with “/” or “X:/” depending on the filesystem/os used).</p></li>
+<li><p><strong>python_callable</strong> (<em>Callable</em><em> | </em><em>None</em>) – Function to decorate</p></li>
+<li><p><strong>multiple_outputs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.11)"><em>bool</em></a><em> | </em><em>None</em>) – If set to True, the decorated function’s return value will be unrolled to
+multiple XCom values. Dict will unroll to XCom values with its keys as XCom keys.
+Defaults to False.</p></li>
</ul>
</dd>
</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
+</dd></dl>
+
</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.decorators.branch_python" href="../branch_python/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="airflow.decorators.python" href="../python/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +835,14 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#functions">Functions</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.external_python.external_python_task"><code class="docutils literal notranslate"><span class="pre">external_python_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +867,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/external_python/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +1001,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/index.html
similarity index 65%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/index.html
index f730759719..991b1cd4de 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.decorators — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../search.html" />
+ <link rel="next" title="airflow.decorators.base" href="base/index.html" />
+ <link rel="prev" title="airflow.secrets.metastore" href="../secrets/metastore/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,100 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#submodules">Submodules</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="#package-contents">Package Contents</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection</span></code></a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.python"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.python</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.virtualenv"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.virtualenv</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.external_python"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.external_python</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.branch"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.branch</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.short_circuit"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.short_circuit</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.sensor"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.sensor</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.__call__"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.__call__</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.__getattr__"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.__getattr__()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.decorators.task"><code class="docutils literal notranslate"><span class="pre">task</span></code></a></li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.decorators.setup"><code class="docutils literal notranslate"><span class="pre">setup</span></code></a></li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.decorators.teardown"><code class="docutils literal notranslate"><span class="pre">teardown</span></code></a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +499,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +543,100 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#submodules">Submodules</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="#package-contents">Package Contents</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection</span></code></a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.python"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.python</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.virtualenv"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.virtualenv</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.external_python"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.external_python</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.branch"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.branch</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.short_circuit"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.short_circuit</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.sensor"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.sensor</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.__call__"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.__call__</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.__getattr__"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.__getattr__()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.decorators.task"><code class="docutils literal notranslate"><span class="pre">task</span></code></a></li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.decorators.setup"><code class="docutils literal notranslate"><span class="pre">setup</span></code></a></li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.decorators.teardown"><code class="docutils literal notranslate"><span class="pre">teardown</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +725,11 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../index.html" class="icon icon-home"> Home</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
</ul>
</div>
@@ -563,292 +740,171 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
+ <div class="section" id="module-airflow.decorators">
+<span id="airflow-decorators"></span><h1><a class="reference internal" href="#module-airflow.decorators" title="airflow.decorators"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><a class="headerlink" href="#module-airflow.decorators" title="Permalink to this heading">¶</a></h1>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this heading">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</div>
+</div>
+<div class="section" id="package-contents">
+<h2>Package Contents<a class="headerlink" href="#package-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
+<col style="width: 90%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
+<tr class="row-odd"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">TaskDecorator</span></code></p></td>
+<td><p>Type declaration for <code class="docutils literal notranslate"><span class="pre">task_decorator_factory</span></code> return type.</p></td>
</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection" title="airflow.decorators.TaskDecoratorCollection"><code class="xref py py-obj docutils literal notranslate"><span class="pre">TaskDecoratorCollection</span></code></a></p></td>
+<td><p>Implementation to provide the <code class="docutils literal notranslate"><span class="pre">@task</span></code> syntax.</p></td>
</tr>
</tbody>
</table>
</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">branch_task</span></code>([python_callable, multiple_outputs])</p></td>
+<td><p>Wraps a python function into a BranchPythonOperator.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">external_python_task</span></code>([python, python_callable, ...])</p></td>
+<td><p>Wraps a callable into an Airflow operator to run via a Python virtual environment.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">python_task</span></code>([python_callable, multiple_outputs])</p></td>
+<td><p>Wraps a function into an Airflow operator.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">virtualenv_task</span></code>([python_callable, multiple_outputs])</p></td>
+<td><p>Wraps a callable into an Airflow operator to run via a Python virtual environment.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">sensor_task</span></code>([python_callable])</p></td>
+<td><p>Wraps a function into an Airflow operator.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">short_circuit_task</span></code>([python_callable, multiple_outputs])</p></td>
+<td><p>Wraps a function into an ShortCircuitOperator.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="task_group/index.html#module-airflow.decorators.task_group" title="airflow.decorators.task_group"><code class="xref py py-obj docutils literal notranslate"><span class="pre">task_group</span></code></a></p></td>
+<td><p>Implements the <code class="docutils literal notranslate"><span class="pre">@task_group</span></code> function decorator.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">dag</span></code>([dag_id, description, schedule, ...])</p></td>
+<td><p>Python dag decorator. Wraps a function into an Airflow DAG.</p></td>
+</tr>
+</tbody>
+</table>
</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
+<div class="section" id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.task" title="airflow.decorators.task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">task</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.decorators.setup" title="airflow.decorators.setup"><code class="xref py py-obj docutils literal notranslate"><span class="pre">setup</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.teardown" title="airflow.decorators.teardown"><code class="xref py py-obj docutils literal notranslate"><span class="pre">teardown</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.decorators.TaskDecoratorCollection">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.decorators.</span></span><span class="sig-name descname"><span class="pre">TaskDecoratorCollection</span></span><a class="reference internal" href="../../../_modules/airflow/decorators.html#TaskDecoratorCollection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.TaskDecorat [...]
+<dd><p>Implementation to provide the <code class="docutils literal notranslate"><span class="pre">@task</span></code> syntax.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.TaskDecoratorCollection.python">
+<span class="sig-name descname"><span class="pre">python</span></span><a class="reference internal" href="../../../_modules/airflow/decorators.html#TaskDecoratorCollection.python"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.TaskDecoratorCollection.python" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.TaskDecoratorCollection.virtualenv">
+<span class="sig-name descname"><span class="pre">virtualenv</span></span><a class="reference internal" href="../../../_modules/airflow/decorators.html#TaskDecoratorCollection.virtualenv"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.TaskDecoratorCollection.virtualenv" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.TaskDecoratorCollection.external_python">
+<span class="sig-name descname"><span class="pre">external_python</span></span><a class="reference internal" href="../../../_modules/airflow/decorators.html#TaskDecoratorCollection.external_python"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.TaskDecoratorCollection.external_python" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.TaskDecoratorCollection.branch">
+<span class="sig-name descname"><span class="pre">branch</span></span><a class="reference internal" href="../../../_modules/airflow/decorators.html#TaskDecoratorCollection.branch"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.TaskDecoratorCollection.branch" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.TaskDecoratorCollection.short_circuit">
+<span class="sig-name descname"><span class="pre">short_circuit</span></span><a class="reference internal" href="../../../_modules/airflow/decorators.html#TaskDecoratorCollection.short_circuit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.TaskDecoratorCollection.short_circuit" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.TaskDecoratorCollection.sensor">
+<span class="sig-name descname"><span class="pre">sensor</span></span><a class="reference internal" href="../../../_modules/airflow/decorators.html#TaskDecoratorCollection.sensor"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.TaskDecoratorCollection.sensor" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.TaskDecoratorCollection.__call__">
+<span class="sig-name descname"><span class="pre">__call__</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Any</span></em><a class="reference internal" href="../../../_modules/airflow/decorators.html#TaskDecoratorCollection.__call__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.TaskDecoratorCollection.__call__" title="Permalink to this de [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.decorators.TaskDecoratorCollection.__getattr__">
+<span class="sig-name descname"><span class="pre">__getattr__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/decorators.html#TaskDecoratorCollection.__getattr__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.TaskDecoratorCollection.__getattr__" ti [...]
+<dd><p>Dynamically get provider-registered task decorators, e.g. <code class="docutils literal notranslate"><span class="pre">@task.docker</span></code>.</p>
<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.decorators.task">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.</span></span><span class="sig-name descname"><span class="pre">task</span></span><a class="reference internal" href="../../../_modules/airflow/decorators.html#task"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.task" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.decorators.setup">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.</span></span><span class="sig-name descname"><span class="pre">setup</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Callable</span></em><a class="reference internal" href="../../../_modules/airflow/decorators.html#setup"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decora [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.decorators.teardown">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.</span></span><span class="sig-name descname"><span class="pre">teardown</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Callable</span></em><a class="reference internal" href="../../../_modules/airflow/decorators.html#teardown"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow. [...]
+<dd></dd></dl>
+
</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.secrets.metastore" href="../secrets/metastore/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="airflow.decorators.base" href="base/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +974,30 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul>
+<li><a class="reference internal" href="#submodules">Submodules</a></li>
+<li><a class="reference internal" href="#package-contents">Package Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a></li>
+<li><a class="reference internal" href="#functions">Functions</a></li>
+<li><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection</span></code></a><ul>
+<li><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.python"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.python</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.virtualenv"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.virtualenv</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.external_python"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.external_python</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.branch"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.branch</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.short_circuit"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.short_circuit</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.sensor"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.sensor</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.__call__"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.__call__</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.TaskDecoratorCollection.__getattr__"><code class="docutils literal notranslate"><span class="pre">TaskDecoratorCollection.__getattr__()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.decorators.task"><code class="docutils literal notranslate"><span class="pre">task</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.setup"><code class="docutils literal notranslate"><span class="pre">setup</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.teardown"><code class="docutils literal notranslate"><span class="pre">teardown</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +1022,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +1156,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+ <script src="../../../_static/jquery.js"></script>
+ <script src="../../../_static/underscore.js"></script>
+ <script src="../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../_static/doctools.js"></script>
+ <script src="../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../_static/clipboard.min.js"></script>
+ <script src="../../../_static/copybutton.js"></script>
+ <script src="../../../_static/js/globaltoc.js"></script>
+ <script src="../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/python/index.html
similarity index 76%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/python/index.html
index f730759719..d528555229 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/python/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.decorators.python — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.decorators.python_virtualenv" href="../python_virtualenv/index.html" />
+ <link rel="prev" title="airflow.decorators.external_python" href="../external_python/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.python.python_task"><code class="docutils literal notranslate"><span class="pre">python_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +487,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +531,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.python.python_task"><code class="docutils literal notranslate"><span class="pre">python_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +701,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
+
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
</ul>
</div>
@@ -563,292 +718,49 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
+ <div class="section" id="module-airflow.decorators.python">
+<span id="airflow-decorators-python"></span><h1><a class="reference internal" href="#module-airflow.decorators.python" title="airflow.decorators.python"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a><a class="headerlink" href="#module-airflow.decorators.python" title="Permalink to this heading">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
+<col style="width: 90%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
-</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.python.python_task" title="airflow.decorators.python.python_task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">python_task</span></code></a>([python_callable, multiple_outputs])</p></td>
+<td><p>Wraps a function into an Airflow operator.</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.python.python_task">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.python.</span></span><span class="sig-name descname"><span class="pre">python_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">python_callable</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">multiple_outputs</span></s [...]
+<dd><p>Wraps a function into an Airflow operator.</p>
+<p>Accepts kwargs for operator kwarg. Can be reused in a single DAG.</p>
<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>python_callable</strong> (<em>Callable</em><em> | </em><em>None</em>) – Function to decorate</p></li>
+<li><p><strong>multiple_outputs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.11)"><em>bool</em></a><em> | </em><em>None</em>) – If set to True, the decorated function’s return value will be unrolled to
+multiple XCom values. Dict will unroll to XCom values with its keys as XCom keys. Defaults to False.</p></li>
</ul>
</dd>
</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
+</dd></dl>
+
</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.decorators.external_python" href="../external_python/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="airflow.decorators.python_virtualenv" href="../python_virtualenv/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +830,14 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#functions">Functions</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.python.python_task"><code class="docutils literal notranslate"><span class="pre">python_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +862,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/python/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +996,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/python_virtualenv/index.html
similarity index 75%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/python_virtualenv/index.html
index f730759719..4178d12ff4 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/python_virtualenv/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.decorators.python_virtualenv — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.decorators.sensor" href="../sensor/index.html" />
+ <link rel="prev" title="airflow.decorators.python" href="../python/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.python_virtualenv.virtualenv_task"><code class="docutils literal notranslate"><span class="pre">virtualenv_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +487,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +531,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.python_virtualenv.virtualenv_task"><code class="docutils literal notranslate"><span class="pre">virtualenv_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +701,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
+
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
</ul>
</div>
@@ -563,292 +718,51 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
+ <div class="section" id="module-airflow.decorators.python_virtualenv">
+<span id="airflow-decorators-python-virtualenv"></span><h1><a class="reference internal" href="#module-airflow.decorators.python_virtualenv" title="airflow.decorators.python_virtualenv"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a><a class="headerlink" href="#module-airflow.decorators.python_virtualenv" title="Permalink to this heading">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
+<col style="width: 90%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
-</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.python_virtualenv.virtualenv_task" title="airflow.decorators.python_virtualenv.virtualenv_task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">virtualenv_task</span></code></a>([python_callable, multiple_outputs])</p></td>
+<td><p>Wraps a callable into an Airflow operator to run via a Python virtual environment.</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.python_virtualenv.virtualenv_task">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.python_virtualenv.</span></span><span class="sig-name descname"><span class="pre">virtualenv_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">python_callable</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">multiple_ou [...]
+<dd><p>Wraps a callable into an Airflow operator to run via a Python virtual environment.</p>
+<p>Accepts kwargs for operator kwarg. Can be reused in a single DAG.</p>
+<p>This function is only used only used during type checking or auto-completion.</p>
<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>python_callable</strong> (<em>Callable</em><em> | </em><em>None</em>) – Function to decorate</p></li>
+<li><p><strong>multiple_outputs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.11)"><em>bool</em></a><em> | </em><em>None</em>) – If set to True, the decorated function’s return value will be unrolled to
+multiple XCom values. Dict will unroll to XCom values with its keys as XCom keys.
+Defaults to False.</p></li>
</ul>
</dd>
</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
+</dd></dl>
+
</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.decorators.python" href="../python/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="airflow.decorators.sensor" href="../sensor/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +832,14 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#functions">Functions</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.python_virtualenv.virtualenv_task"><code class="docutils literal notranslate"><span class="pre">virtualenv_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +864,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/python_virtualenv/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +998,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/sensor/index.html
similarity index 69%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/sensor/index.html
index f730759719..4889cee2a7 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/sensor/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.decorators.sensor — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.decorators.setup_teardown" href="../setup_teardown/index.html" />
+ <link rel="prev" title="airflow.decorators.python_virtualenv" href="../python_virtualenv/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,96 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.template_fields"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.template_fields</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.template_fields_renderers"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.template_fields_renderers</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.custom_operator_name"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.custom_operator_name</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.shallow_copy_attrs"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.shallow_copy_attrs</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.sensor.sensor_task"><code class="docutils literal notranslate"><span class="pre">sensor_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +495,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +539,96 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator</span></code></a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.template_fields"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.template_fields</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.template_fields_renderers"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.template_fields_renderers</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.custom_operator_name"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.custom_operator_name</span></code></a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.shallow_copy_attrs"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.shallow_copy_attrs</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.sensor.sensor_task"><code class="docutils literal notranslate"><span class="pre">sensor_task()</span></code></a></li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +717,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
</ul>
</div>
@@ -563,292 +734,99 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
+ <div class="section" id="module-airflow.decorators.sensor">
+<span id="airflow-decorators-sensor"></span><h1><a class="reference internal" href="#module-airflow.decorators.sensor" title="airflow.decorators.sensor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a><a class="headerlink" href="#module-airflow.decorators.sensor" title="Permalink to this heading">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
+<col style="width: 90%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
-</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator" title="airflow.decorators.sensor.DecoratedSensorOperator"><code class="xref py py-obj docutils literal notranslate"><span class="pre">DecoratedSensorOperator</span></code></a></p></td>
+<td><p>Wraps a Python callable and captures args/kwargs when called for execution.</p></td>
</tr>
</tbody>
</table>
</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.sensor.sensor_task" title="airflow.decorators.sensor.sensor_task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">sensor_task</span></code></a>([python_callable])</p></td>
+<td><p>Wraps a function into an Airflow operator.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.decorators.sensor.DecoratedSensorOperator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.decorators.sensor.</span></span><span class="sig-name descname"><span class="pre">DecoratedSensorOperator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class [...]
+<dd><p>Bases: <a class="reference internal" href="../../sensors/python/index.html#airflow.sensors.python.PythonSensor" title="airflow.sensors.python.PythonSensor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.sensors.python.PythonSensor</span></code></a></p>
+<p>Wraps a Python callable and captures args/kwargs when called for execution.</p>
<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>python_callable</strong> – A reference to an object that is callable</p></li>
+<li><p><strong>task_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><em>str</em></a>) – task Id</p></li>
+<li><p><strong>op_args</strong> – a list of positional arguments that will get unpacked when
+calling your callable (templated)</p></li>
+<li><p><strong>op_kwargs</strong> – a dictionary of keyword arguments that will get unpacked
+in your function (templated)</p></li>
+<li><p><strong>kwargs_to_upstream</strong> – For certain operators, we might need to upstream certain arguments
+that would otherwise be absorbed by the DecoratedOperator (for example python_callable for the
+PythonOperator). This gives a user the option to upstream kwargs as needed.</p></li>
</ul>
</dd>
</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
-</ul>
-</dd>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.sensor.DecoratedSensorOperator.template_fields">
+<span class="sig-name descname"><span class="pre">template_fields</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Sequence</span><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></em><em class="property"><span class="w" [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.sensor.DecoratedSensorOperator.template_fields_renderers">
+<span class="sig-name descname"><span class="pre">template_fields_renderers</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.11)"><span class="pre">dict</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.1 [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.sensor.DecoratedSensorOperator.custom_operator_name">
+<span class="sig-name descname"><span class="pre">custom_operator_name</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'@task.sensor'</span></em><a class="reference internal" href="../../../../_modules/airflow/decorators/sensor.html#DecoratedSensorOperator.custom_operator_name"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.decorators.sensor.DecoratedSensorOperator.shallow_copy_attrs">
+<span class="sig-name descname"><span class="pre">shallow_copy_attrs</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Sequence</span><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></em><em class="property"><span class= [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.sensor.sensor_task">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.sensor.</span></span><span class="sig-name descname"><span class="pre">sensor_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">python_callable</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span clas [...]
+<dd><p>Wraps a function into an Airflow operator.</p>
+<p>Accepts kwargs for operator kwarg. Can be reused in a single DAG.
+:param python_callable: Function to decorate</p>
+<dl class="field-list simple">
</dl>
-</li>
-</ul>
+</dd></dl>
+
</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.decorators.python_virtualenv" href="../python_virtualenv/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="airflow.decorators.setup_teardown" href="../setup_teardown/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +896,22 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a></li>
+<li><a class="reference internal" href="#functions">Functions</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator</span></code></a><ul>
+<li><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.template_fields"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.template_fields</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.template_fields_renderers"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.template_fields_renderers</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.custom_operator_name"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.custom_operator_name</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.sensor.DecoratedSensorOperator.shallow_copy_attrs"><code class="docutils literal notranslate"><span class="pre">DecoratedSensorOperator.shallow_copy_attrs</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.decorators.sensor.sensor_task"><code class="docutils literal notranslate"><span class="pre">sensor_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +936,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/sensor/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +1070,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/setup_teardown/index.html
similarity index 75%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/setup_teardown/index.html
index f730759719..200140ea3e 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/setup_teardown/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.decorators.setup_teardown — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.decorators.short_circuit" href="../short_circuit/index.html" />
+ <link rel="prev" title="airflow.decorators.sensor" href="../sensor/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,89 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.setup_teardown.setup_task"><code class="docutils literal notranslate"><span class="pre">setup_task()</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.setup_teardown.teardown_task"><code class="docutils literal notranslate"><span class="pre">teardown_task()</span></code></a></li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +488,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +532,89 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.setup_teardown.setup_task"><code class="docutils literal notranslate"><span class="pre">setup_task()</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.setup_teardown.teardown_task"><code class="docutils literal notranslate"><span class="pre">teardown_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +703,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
</ul>
</div>
@@ -563,292 +720,50 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
+ <div class="section" id="module-airflow.decorators.setup_teardown">
+<span id="airflow-decorators-setup-teardown"></span><h1><a class="reference internal" href="#module-airflow.decorators.setup_teardown" title="airflow.decorators.setup_teardown"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a><a class="headerlink" href="#module-airflow.decorators.setup_teardown" title="Permalink to this heading">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
+<col style="width: 90%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.setup_teardown.setup_task" title="airflow.decorators.setup_teardown.setup_task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">setup_task</span></code></a>(func)</p></td>
+<td><p></p></td>
</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.decorators.setup_teardown.teardown_task" title="airflow.decorators.setup_teardown.teardown_task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">teardown_task</span></code></a>([_func, on_failure_fail_dagrun])</p></td>
+<td><p></p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
-</ul>
-</dd>
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.setup_teardown.setup_task">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.setup_teardown.</span></span><span class="sig-name descname"><span class="pre">setup_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/decorators/setup_teardown.html#setup_task"><span class="viewcode-link"><span class="pre">[source]</span> [...]
+<dd><dl class="field-list simple">
</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
-</ul>
-</dd>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.setup_teardown.teardown_task">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.setup_teardown.</span></span><span class="sig-name descname"><span class="pre">teardown_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em [...]
+<dd><dl class="field-list simple">
</dl>
-</li>
-</ul>
+</dd></dl>
+
</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.decorators.sensor" href="../sensor/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="airflow.decorators.short_circuit" href="../short_circuit/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +833,15 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#functions">Functions</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.setup_teardown.setup_task"><code class="docutils literal notranslate"><span class="pre">setup_task()</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.setup_teardown.teardown_task"><code class="docutils literal notranslate"><span class="pre">teardown_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +866,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/setup_teardown/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +1000,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/short_circuit/index.html
similarity index 75%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/short_circuit/index.html
index f730759719..eef4dd9e9f 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/short_circuit/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.decorators.short_circuit — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.decorators.task_group" href="../task_group/index.html" />
+ <link rel="prev" title="airflow.decorators.setup_teardown" href="../setup_teardown/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.short_circuit.short_circuit_task"><code class="docutils literal notranslate"><span class="pre">short_circuit_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +487,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +531,88 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.short_circuit.short_circuit_task"><code class="docutils literal notranslate"><span class="pre">short_circuit_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l6"><a class="reference internal" href="../task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +701,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
+
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
</ul>
</div>
@@ -563,292 +718,50 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
+ <div class="section" id="module-airflow.decorators.short_circuit">
+<span id="airflow-decorators-short-circuit"></span><h1><a class="reference internal" href="#module-airflow.decorators.short_circuit" title="airflow.decorators.short_circuit"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a><a class="headerlink" href="#module-airflow.decorators.short_circuit" title="Permalink to this heading">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
+<col style="width: 90%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
-</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.short_circuit.short_circuit_task" title="airflow.decorators.short_circuit.short_circuit_task"><code class="xref py py-obj docutils literal notranslate"><span class="pre">short_circuit_task</span></code></a>([python_callable, multiple_outputs])</p></td>
+<td><p>Wraps a function into an ShortCircuitOperator.</p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.short_circuit.short_circuit_task">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.short_circuit.</span></span><span class="sig-name descname"><span class="pre">short_circuit_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">python_callable</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">multiple_out [...]
+<dd><p>Wraps a function into an ShortCircuitOperator.</p>
+<p>Accepts kwargs for operator kwarg. Can be reused in a single DAG.</p>
+<p>This function is only used only used during type checking or auto-completion.</p>
<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>python_callable</strong> (<em>Callable</em><em> | </em><em>None</em>) – Function to decorate</p></li>
+<li><p><strong>multiple_outputs</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.11)"><em>bool</em></a><em> | </em><em>None</em>) – If set to True, the decorated function’s return value will be unrolled to
+multiple XCom values. Dict will unroll to XCom values with its keys as XCom keys. Defaults to False.</p></li>
</ul>
</dd>
</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
+</dd></dl>
+
</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.decorators.setup_teardown" href="../setup_teardown/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="airflow.decorators.task_group" href="../task_group/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +831,14 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#functions">Functions</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.short_circuit.short_circuit_task"><code class="docutils literal notranslate"><span class="pre">short_circuit_task()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +863,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/short_circuit/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +997,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/task_group/index.html
similarity index 68%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/task_group/index.html
index f730759719..da3735057e 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/decorators/task_group/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.decorators.task_group — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="Best Practices" href="../../../../best-practices.html" />
+ <link rel="prev" title="airflow.decorators.short_circuit" href="../short_circuit/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,92 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.task_group.FParams"><code class="docutils literal notranslate"><span class="pre">FParams</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.task_group.FReturn"><code class="docutils literal notranslate"><span class="pre">FReturn</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.task_group.task_group_sig"><code class="docutils literal notranslate"><span class="pre">task_group_sig</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.task_group.task_group"><code class="docutils literal notranslate"><span class="pre">task_group()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +491,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +535,92 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#executors">Executors</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#authentication-backends">Authentication Backends</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#connections">Connections</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#id1">Extra Links</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#logging-and-monitoring">Logging and Monitoring</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#decorators">Decorators</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.base</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../branch_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.branch_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../external_python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.external_python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../python_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.python_virtualenv</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sensor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.sensor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../short_circuit/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.short_circuit</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.task_group.FParams"><code class="docutils literal notranslate"><span class="pre">FParams</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.task_group.FReturn"><code class="docutils literal notranslate"><span class="pre">FReturn</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.task_group.task_group_sig"><code class="docutils literal notranslate"><span class="pre">task_group_sig</span></code></a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.decorators.task_group.task_group"><code class="docutils literal notranslate"><span class="pre">task_group()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l5"><a class="reference internal" href="../index.html#package-contents">Package Contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#email-notifications">Email notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#notifications">Notifications</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#cluster-policies">Cluster Policies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#lineage">Lineage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +709,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a></li>
</ul>
</div>
@@ -563,292 +726,91 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
+ <div class="section" id="module-airflow.decorators.task_group">
+<span id="airflow-decorators-task-group"></span><h1><a class="reference internal" href="#module-airflow.decorators.task_group" title="airflow.decorators.task_group"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a><a class="headerlink" href="#module-airflow.decorators.task_group" title="Permalink to this heading">¶</a></h1>
+<p>Implements the <code class="docutils literal notranslate"><span class="pre">@task_group</span></code> function decorator.</p>
+<p>When the decorated function is called, a task group will be created to represent
+a collection of closely related tasks on the same DAG that should be grouped
+together when the DAG is displayed graphically.</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
+<col style="width: 90%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.task_group.task_group" title="airflow.decorators.task_group.task_group"><code class="xref py py-obj docutils literal notranslate"><span class="pre">task_group</span></code></a>(…)</p></td>
+<td><p>Python TaskGroup decorator.</p></td>
</tr>
-</thead>
+</tbody>
+</table>
+</div>
+<div class="section" id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this heading">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.task_group.FParams" title="airflow.decorators.task_group.FParams"><code class="xref py py-obj docutils literal notranslate"><span class="pre">FParams</span></code></a></p></td>
+<td><p></p></td>
</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.decorators.task_group.FReturn" title="airflow.decorators.task_group.FReturn"><code class="xref py py-obj docutils literal notranslate"><span class="pre">FReturn</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.decorators.task_group.task_group_sig" title="airflow.decorators.task_group.task_group_sig"><code class="xref py py-obj docutils literal notranslate"><span class="pre">task_group_sig</span></code></a></p></td>
+<td><p></p></td>
</tr>
</tbody>
</table>
-</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.decorators.task_group.FParams">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.task_group.</span></span><span class="sig-name descname"><span class="pre">FParams</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/task_group.html#FParams"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.task_group.FParams" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.decorators.task_group.FReturn">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.task_group.</span></span><span class="sig-name descname"><span class="pre">FReturn</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/task_group.html#FReturn"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.task_group.FReturn" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.decorators.task_group.task_group_sig">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.task_group.</span></span><span class="sig-name descname"><span class="pre">task_group_sig</span></span><a class="reference internal" href="../../../../_modules/airflow/decorators/task_group.html#task_group_sig"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.decorators.task_group.task_group_sig" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.decorators.task_group.task_group">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.task_group.</span></span><span class="sig-name descname"><span class="pre">task_group</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">group_id</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.11)"><s [...]
+<dt class="sig sig-object py">
+<span class="sig-prename descclassname"><span class="pre">airflow.decorators.task_group.</span></span><span class="sig-name descname"><span class="pre">task_group</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">python_callable</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="pre">FParams</s [...]
+<dd><p>Python TaskGroup decorator.</p>
+<p>This wraps a function into an Airflow TaskGroup. When used as the
+<code class="docutils literal notranslate"><span class="pre">@task_group()</span></code> form, all arguments are forwarded to the underlying
+TaskGroup class. Can be used to parametrize TaskGroup.</p>
<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>python_callable</strong> – Function to decorate.</p></li>
+<li><p><strong>tg_kwargs</strong> – Keyword arguments for the TaskGroup object.</p></li>
</ul>
</dd>
</dl>
-</li>
-</ul>
+</dd></dl>
+
</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.decorators.short_circuit" href="../short_circuit/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="Best Practices" href="../../../../best-practices.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +880,18 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.decorators.task_group</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#functions">Functions</a></li>
+<li><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li><a class="reference internal" href="#airflow.decorators.task_group.FParams"><code class="docutils literal notranslate"><span class="pre">FParams</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.task_group.FReturn"><code class="docutils literal notranslate"><span class="pre">FReturn</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.task_group.task_group_sig"><code class="docutils literal notranslate"><span class="pre">task_group_sig</span></code></a></li>
+<li><a class="reference internal" href="#airflow.decorators.task_group.task_group"><code class="docutils literal notranslate"><span class="pre">task_group()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +916,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/decorators/task_group/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +1050,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/example_dags/example_bash_operator/index.html
similarity index 67%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/example_dags/example_bash_operator/index.html
index f730759719..2087e3c3b4 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/example_dags/example_bash_operator/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.example_dags.example_bash_operator — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.example_dags.example_branch_datetime_operator" href="../example_branch_datetime_operator/index.html" />
+ <link rel="prev" title="airflow.example_dags.subdags.subdag" href="../subdags/subdag/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,110 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#dags">DAGs</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags</span></code></a><ul class="current">
+<li class="toctree-l5"><a class="reference internal" href="../index.html#subpackages">Subpackages</a></li>
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_bash_operator</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_bash_operator.run_this_last"><code class="docutils literal notranslate"><span class="pre">run_this_last</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_bash_operator.this_will_skip"><code class="docutils literal notranslate"><span class="pre">this_will_skip</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_datetime_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_datetime_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_day_of_week_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_day_of_week_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_labels/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_labels</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_operator_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_operator_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_python_dop_operator_3/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_python_dop_operator_3</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_complex/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_complex</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_datasets/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_datasets</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_dynamic_task_mapping/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_dynamic_task_mapping</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_external_task_marker_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_external_task_marker_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_latest_only/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_latest_only</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_latest_only_with_trigger/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_latest_only_with_trigger</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_nested_branch_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_nested_branch_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_params_trigger_ui/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_params_trigger_ui</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_params_ui_tutorial/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_params_ui_tutorial</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_passing_params_via_test_command/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_passing_params_via_test_command</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_python_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_python_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_sensor_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_sensor_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_sensors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_sensors</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_setup_teardown_taskflow/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_setup_teardown_taskflow</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_short_circuit_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_short_circuit_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_short_circuit_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_short_circuit_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_skip_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_skip_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_subdag_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_subdag_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_task_group</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_task_group_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_task_group_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_time_delta_sensor_async/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_time_delta_sensor_async</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_trigger_controller_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_trigger_controller_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_trigger_target_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_trigger_target_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_xcom/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_xcom</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_xcomargs/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_xcomargs</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_taskflow_api/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_taskflow_api</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_taskflow_api_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_taskflow_api_virtualenv</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#operators">Operators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#hooks">Hooks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#public-airflow-utilities">Public Airflow utilities</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#public-exceptions">Public Exceptions</a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +509,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +553,110 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#dags">DAGs</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags</span></code></a><ul class="current">
+<li class="toctree-l5"><a class="reference internal" href="../index.html#subpackages">Subpackages</a></li>
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_bash_operator</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_bash_operator.run_this_last"><code class="docutils literal notranslate"><span class="pre">run_this_last</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_bash_operator.this_will_skip"><code class="docutils literal notranslate"><span class="pre">this_will_skip</span></code></a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_datetime_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_datetime_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_day_of_week_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_day_of_week_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_labels/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_labels</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_operator_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_operator_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_python_dop_operator_3/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_python_dop_operator_3</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_complex/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_complex</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_datasets/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_datasets</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_dynamic_task_mapping/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_dynamic_task_mapping</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_external_task_marker_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_external_task_marker_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_latest_only/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_latest_only</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_latest_only_with_trigger/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_latest_only_with_trigger</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_nested_branch_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_nested_branch_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_params_trigger_ui/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_params_trigger_ui</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_params_ui_tutorial/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_params_ui_tutorial</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_passing_params_via_test_command/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_passing_params_via_test_command</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_python_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_python_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_sensor_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_sensor_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_sensors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_sensors</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_setup_teardown_taskflow/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_setup_teardown_taskflow</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_short_circuit_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_short_circuit_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_short_circuit_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_short_circuit_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_skip_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_skip_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_subdag_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_subdag_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_task_group</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_task_group_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_task_group_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_time_delta_sensor_async/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_time_delta_sensor_async</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_trigger_controller_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_trigger_controller_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_trigger_target_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_trigger_target_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_xcom/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_xcom</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_xcomargs/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_xcomargs</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_taskflow_api/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_taskflow_api</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_taskflow_api_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_taskflow_api_virtualenv</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#operators">Operators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#hooks">Hooks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#public-airflow-utilities">Public Airflow utilities</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#public-exceptions">Public Exceptions</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +745,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_bash_operator</span></code></a></li>
</ul>
</div>
@@ -563,292 +762,30 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
-<colgroup>
-<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
-</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were subtle changes in the behaviour of some 2.1 images due to that (more details below)
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a></p>
-</li>
-</ul>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>that the changes below were valid before image refreshing on 18 Feb 2022.
-Since all the images were refreshed on 18 Feb with the same <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-as 2.1.4, the changes 2.1.1 -> 2.1.3 are
-effectively applied to all the images in 2.1.* line.
-The images refreshed have also those fixes added:</p>
-</dd>
-</dl>
-<ul class="simple">
-<li><p>All 2.1.* image versions refreshed on 18 Feb 2022 have those fixes applied:
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Add Oauth libraries to PROD images</p></li>
-</ul>
-<p>Original image Changelog (before the refresh on 18 Feb 2022):</p>
-<ul class="simple">
-<li><dl class="simple">
-<dt>2.1.4</dt><dd><ul>
-<li><p>Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>fixed detection of port number in connection URL</p></li>
-<li><p>Improve warnings for quick-start-docker compose</p></li>
-<li><p>Fix warm shutdown for celery worker (signal propagation)</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.3</dt><dd><ul>
-<li><p>fixed auto-creation of user to use non-deprecated <code class="docutils literal notranslate"><span class="pre">create</span> <span class="pre">user</span></code> rather than <code class="docutils literal notranslate"><span class="pre">user_create</span></code></p></li>
-<li><p>remove waiting for celery backend for <code class="docutils literal notranslate"><span class="pre">worker</span></code> and <code class="docutils literal notranslate"><span class="pre">flower</span></code> commands rather than <code class="docutils literal notranslate"><span class="pre">scheduler</span></code> and <code class="docutils literal notranslate"><span class="pre">celery</span></code> only</p></li>
-<li><p>remove deprecated <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">upgradedb</span></code> command from Airflow 1.10 in case upgrade is requested</p></li>
-<li><p>Add Python 3.9 support</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.2</dt><dd><ul>
-<li><p>No changes</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.1</dt><dd><ul>
-<li><p>Fix failure of lack of default commands (failed when no commands were passed)</p></li>
-<li><p>Added <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> development feature</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.1.0</dt><dd><ul>
-<li><p>Unset default <code class="docutils literal notranslate"><span class="pre">PIP_USER</span></code> variable - which caused PythonVirtualEnv to fail</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-0">
-<h2>Airflow 2.0<a class="headerlink" href="#airflow-2-0" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
-<p>There were no changes in the behaviour of 2.0.2 image due to that
-Detailed <a class="reference external" href="https://github.com/apache/airflow/issues/20911">issue here</a> .
-Only 2.0.2 image was regenerated, as 2.0.1 and 2.0.0 versions are hardly used and it is unlikely someone
-would like to extend those images. Extending 2.0.1 and 2.0.0 images will lead to failures of "missing key".</p>
-</li>
-<li><dl class="simple">
-<dt>2.0.2</dt><dd><ul class="simple">
-<li><p>Set correct PYTHONPATH for <code class="docutils literal notranslate"><span class="pre">root</span></code> user. Allows to run the image as root</p></li>
-<li><p>Warn if the deprecated 5000 group ID was used for airflow user when running the image
-(should be 0 for the OpenShift compatibility). Fails if the group 5000 was used with any other user
-(it would not work anyway but with cryptic errors)</p></li>
-<li><p>Set umask as 002 by default, so that you can actually change the user id used to run the image
-(required for OpenShift compatibility)</p></li>
-<li><p>Skip checking the DB and celery backend if CONNECTION_CHECK_MAX_COUNT is equal to 0</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.1</dt><dd><ul class="simple">
-<li><p>Avoid reverse IP lookup when checking DB availability. This helped to solve long delays on misconfigured
-docker engines</p></li>
-<li><p>Add auto-detection of redis and amqp broker ports</p></li>
-<li><p>Fixed detection of all user/password combinations in URLs - helps in auto-detecting ports and testing
-connectivity</p></li>
-<li><p>Add possibility to create Admin user automatically when entering the image</p></li>
-<li><p>Automatically create system user when different user than <code class="docutils literal notranslate"><span class="pre">airflow</span></code> is used. Needed for OpenShift
-compatibility</p></li>
-<li><p>Allows to exec to <code class="docutils literal notranslate"><span class="pre">bash</span></code> or <code class="docutils literal notranslate"><span class="pre">python</span></code> if specified as parameters</p></li>
-<li><p>Remove <code class="docutils literal notranslate"><span class="pre">airflow</span></code> command if it is specified as first parameter of the <code class="docutils literal notranslate"><span class="pre">run</span></code> command</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-<li><dl class="simple">
-<dt>2.0.0</dt><dd><ul class="simple">
-<li><p>Initial release of the image based on Debian Buster</p></li>
-</ul>
-</dd>
-</dl>
-</li>
-</ul>
+ <div class="section" id="module-airflow.example_dags.example_bash_operator">
+<span id="airflow-example-dags-example-bash-operator"></span><h1><a class="reference internal" href="#module-airflow.example_dags.example_bash_operator" title="airflow.example_dags.example_bash_operator"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_bash_operator</span></code></a><a class="headerlink" href="#module-airflow.example_dags.example_bash_operator" title="Permalink to this heading">¶</a></h1>
+<p>Example DAG demonstrating the usage of the BashOperator.</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this heading">¶</a></h2>
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.example_dags.example_bash_operator.run_this_last">
+<span class="sig-prename descclassname"><span class="pre">airflow.example_dags.example_bash_operator.</span></span><span class="sig-name descname"><span class="pre">run_this_last</span></span><a class="reference internal" href="../../../../_modules/airflow/example_dags/example_bash_operator.html#run_this_last"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.example_dags.example_bash_operator.run_this_last" title="Permalink to t [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.example_dags.example_bash_operator.this_will_skip">
+<span class="sig-prename descclassname"><span class="pre">airflow.example_dags.example_bash_operator.</span></span><span class="sig-name descname"><span class="pre">this_will_skip</span></span><a class="reference internal" href="../../../../_modules/airflow/example_dags/example_bash_operator.html#this_will_skip"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.example_dags.example_bash_operator.this_will_skip" title="Permalink t [...]
+<dd></dd></dl>
+
</div>
</div>
<div class="pager" role="navigation" aria-label="related navigation">
- <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+ <a rel="prev" title="airflow.example_dags.subdags.subdag" href="../subdags/subdag/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
</a>
- <a rel="next" title="Recipes" href="recipes.html" >
+ <a rel="next" title="airflow.example_dags.example_branch_datetime_operator" href="../example_branch_datetime_operator/index.html" >
<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
</a>
</div>
@@ -918,15 +855,12 @@ compatibility</p></li>
<nav class="wy-nav-side-toc">
<div class="wy-menu-vertical">
<ul>
-<li><a class="reference internal" href="#">Dockerfile Changelog</a><ul>
-<li><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_bash_operator</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#airflow.example_dags.example_bash_operator.run_this_last"><code class="docutils literal notranslate"><span class="pre">run_this_last</span></code></a></li>
+<li><a class="reference internal" href="#airflow.example_dags.example_bash_operator.this_will_skip"><code class="docutils literal notranslate"><span class="pre">this_will_skip</span></code></a></li>
+</ul>
+</li>
</ul>
</li>
</ul>
@@ -951,7 +885,7 @@ compatibility</p></li>
<div class="base-layout--button">
- <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/changelog.rst" rel="nofollow">
+ <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/example_dags/example_bash_operator/index.rst" rel="nofollow">
<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
<svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1085,19 +1019,20 @@ compatibility</p></li>
</span>
</div>
</footer>
- <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
- <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="_static/doctools.js"></script>
- <script src="_static/sphinx_highlight.js"></script>
- <script src="_static/clipboard.min.js"></script>
- <script src="_static/copybutton.js"></script>
- <script src="_static/js/globaltoc.js"></script>
+ <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+ <script src="../../../../_static/jquery.js"></script>
+ <script src="../../../../_static/underscore.js"></script>
+ <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+ <script src="../../../../_static/doctools.js"></script>
+ <script src="../../../../_static/sphinx_highlight.js"></script>
+ <script src="../../../../_static/clipboard.min.js"></script>
+ <script src="../../../../_static/copybutton.js"></script>
+ <script src="../../../../_static/js/globaltoc.js"></script>
+ <script src="../../../../_static/gh-jira-links.js"></script>
</body>
</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/changelog.html b/docs-archive/apache-airflow/2.6.0/_api/airflow/example_dags/example_branch_datetime_operator/index.html
similarity index 60%
copy from docs-archive/docker-stack/changelog.html
copy to docs-archive/apache-airflow/2.6.0/_api/airflow/example_dags/example_branch_datetime_operator/index.html
index f730759719..c9e053c661 100644
--- a/docs-archive/docker-stack/changelog.html
+++ b/docs-archive/apache-airflow/2.6.0/_api/airflow/example_dags/example_branch_datetime_operator/index.html
@@ -9,17 +9,18 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Dockerfile Changelog — docker-stack Documentation</title>
- <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
- <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
- <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
- <link rel="shortcut icon" href="_static/pin_32.png"/>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="Recipes" href="recipes.html" />
- <link rel="prev" title="Entrypoint" href="entrypoint.html" />
+ <title>airflow.example_dags.example_branch_datetime_operator — Airflow Documentation</title>
+ <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+ <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+ <link rel="index" title="Index" href="../../../../genindex.html" />
+ <link rel="search" title="Search" href="../../../../search.html" />
+ <link rel="next" title="airflow.example_dags.example_branch_day_of_week_operator" href="../example_branch_day_of_week_operator/index.html" />
+ <link rel="prev" title="airflow.example_dags.example_bash_operator" href="../example_bash_operator/index.html" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
@@ -280,8 +281,21 @@
<div class="content-drawer">
<div class="td-sidebar">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -311,26 +325,120 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#dags">DAGs</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags</span></code></a><ul class="current">
+<li class="toctree-l5"><a class="reference internal" href="../index.html#subpackages">Subpackages</a></li>
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../example_bash_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_bash_operator</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_datetime_operator</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.dag1"><code class="docutils literal notranslate"><span class="pre">dag1</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_11"><code class="docutils literal notranslate"><span class="pre">empty_task_11</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_21"><code class="docutils literal notranslate"><span class="pre">empty_task_21</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.cond1"><code class="docutils literal notranslate"><span class="pre">cond1</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.dag2"><code class="docutils literal notranslate"><span class="pre">dag2</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_12"><code class="docutils literal notranslate"><span class="pre">empty_task_12</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_22"><code class="docutils literal notranslate"><span class="pre">empty_task_22</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.cond2"><code class="docutils literal notranslate"><span class="pre">cond2</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.dag3"><code class="docutils literal notranslate"><span class="pre">dag3</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_13"><code class="docutils literal notranslate"><span class="pre">empty_task_13</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_23"><code class="docutils literal notranslate"><span class="pre">empty_task_23</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.cond3"><code class="docutils literal notranslate"><span class="pre">cond3</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_day_of_week_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_day_of_week_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_labels/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_labels</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_operator_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_operator_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_python_dop_operator_3/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_python_dop_operator_3</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_complex/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_complex</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_datasets/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_datasets</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_dynamic_task_mapping/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_dynamic_task_mapping</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_external_task_marker_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_external_task_marker_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_latest_only/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_latest_only</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_latest_only_with_trigger/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_latest_only_with_trigger</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_nested_branch_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_nested_branch_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_params_trigger_ui/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_params_trigger_ui</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_params_ui_tutorial/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_params_ui_tutorial</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_passing_params_via_test_command/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_passing_params_via_test_command</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_python_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_python_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_sensor_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_sensor_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_sensors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_sensors</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_setup_teardown_taskflow/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_setup_teardown_taskflow</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_short_circuit_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_short_circuit_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_short_circuit_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_short_circuit_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_skip_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_skip_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_subdag_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_subdag_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_task_group</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_task_group_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_task_group_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_time_delta_sensor_async/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_time_delta_sensor_async</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_trigger_controller_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_trigger_controller_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_trigger_target_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_trigger_target_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_xcom/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_xcom</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_xcomargs/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_xcomargs</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_taskflow_api/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_taskflow_api</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_taskflow_api_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_taskflow_api_virtualenv</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#operators">Operators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#hooks">Hooks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#public-airflow-utilities">Public Airflow utilities</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#public-exceptions">Public Exceptions</a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -411,8 +519,21 @@
<div class="td-sidebar desktop-only d-print-none">
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+ <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.6.0</span>
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+ </div>
+ <script type="application/x-template" id="version-item-template">
+ <a class="dropdown-item"></a>
+ </script>
+</div>
+
<div class="searchb-box">
- <form class="search-form" action="search.html" method="get">
+ <form class="search-form" action="../../../../search.html" method="get">
<input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -442,26 +563,120 @@
<div class="toctree" role="navigation" aria-label="main navigation">
- <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Dockerfile Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#changes-after-publishing-the-images">Changes after publishing the images</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5-1">Airflow 2.5.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-5">Airflow 2.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-4">Airflow 2.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-3">Airflow 2.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-2">Airflow 2.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-1">Airflow 2.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#airflow-2-0">Airflow 2.0</a></li>
+ <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial/index.html">Tutorials</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../core-concepts/index.html">Core Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../authoring-and-scheduling/index.html">Authoring and Scheduling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../administration-and-deployment/index.html">Administration and Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../public-airflow-interface.html">Public Interface of Airflow</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-airflow-public-interfaces">Using Airflow Public Interfaces</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../public-airflow-interface.html#using-the-public-interface-for-dag-authors">Using the Public Interface for DAG Authors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../public-airflow-interface.html#dags">DAGs</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags</span></code></a><ul class="current">
+<li class="toctree-l5"><a class="reference internal" href="../index.html#subpackages">Subpackages</a></li>
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../example_bash_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_bash_operator</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_datetime_operator</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.dag1"><code class="docutils literal notranslate"><span class="pre">dag1</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_11"><code class="docutils literal notranslate"><span class="pre">empty_task_11</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_21"><code class="docutils literal notranslate"><span class="pre">empty_task_21</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.cond1"><code class="docutils literal notranslate"><span class="pre">cond1</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.dag2"><code class="docutils literal notranslate"><span class="pre">dag2</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_12"><code class="docutils literal notranslate"><span class="pre">empty_task_12</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_22"><code class="docutils literal notranslate"><span class="pre">empty_task_22</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.cond2"><code class="docutils literal notranslate"><span class="pre">cond2</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.dag3"><code class="docutils literal notranslate"><span class="pre">dag3</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_13"><code class="docutils literal notranslate"><span class="pre">empty_task_13</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.empty_task_23"><code class="docutils literal notranslate"><span class="pre">empty_task_23</span></code></a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.example_dags.example_branch_datetime_operator.cond3"><code class="docutils literal notranslate"><span class="pre">cond3</span></code></a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_day_of_week_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_day_of_week_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_labels/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_labels</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_operator_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_operator_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_branch_python_dop_operator_3/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_python_dop_operator_3</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_complex/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_complex</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_datasets/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_datasets</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_dynamic_task_mapping/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_dynamic_task_mapping</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_external_task_marker_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_external_task_marker_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_latest_only/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_latest_only</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_latest_only_with_trigger/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_latest_only_with_trigger</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_nested_branch_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_nested_branch_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_params_trigger_ui/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_params_trigger_ui</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_params_ui_tutorial/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_params_ui_tutorial</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_passing_params_via_test_command/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_passing_params_via_test_command</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_python_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_python_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_sensor_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_sensor_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_sensors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_sensors</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_setup_teardown/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_setup_teardown</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_setup_teardown_taskflow/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_setup_teardown_taskflow</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_short_circuit_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_short_circuit_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_short_circuit_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_short_circuit_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_skip_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_skip_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_subdag_operator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_subdag_operator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_task_group/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_task_group</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_task_group_decorator/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_task_group_decorator</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_time_delta_sensor_async/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_time_delta_sensor_async</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_trigger_controller_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_trigger_controller_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_trigger_target_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_trigger_target_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_xcom/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_xcom</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../example_xcomargs/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_xcomargs</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_dag/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_dag</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_taskflow_api/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_taskflow_api</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../tutorial_taskflow_api_virtualenv/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.tutorial_taskflow_api_virtualenv</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#operators">Operators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#hooks">Hooks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#public-airflow-utilities">Public Airflow utilities</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../public-airflow-interface.html#public-exceptions">Public Exceptions</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-extend-airflow-capabilities">Using Public Interface to extend Airflow capabilities</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#using-public-interface-to-integrate-with-external-services-and-applications">Using Public Interface to integrate with external services and applications</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../public-airflow-interface.html#what-is-not-part-of-the-public-interface-of-apache-airflow">What is not part of the Public Interface of Apache Airflow?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">References</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Internal DB details</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../database-erd-ref.html">Database ERD Schema</a></li>
</ul>
</div>
@@ -550,9 +765,13 @@
<ul class="breadcrumb">
- <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+ <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+
+ <li class="breadcrumb-item"><a href="../../../../public-airflow-interface.html">Public Interface of Airflow</a></li>
- <li class="breadcrumb-item"><a href="changelog.html"> Dockerfile Changelog</a></li>
+ <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags</span></code></a></li>
+
+ <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.example_dags.example_branch_datetime_operator</span></code></a></li>
</ul>
</div>
@@ -563,292 +782,81 @@
<div class="bodywrapper">
<div class="body" role="main">
- <blockquote>
-<div></div></blockquote>
-<div class="section" id="dockerfile-changelog">
-<h1>Dockerfile Changelog<a class="headerlink" href="#dockerfile-changelog" title="Permalink to this heading">¶</a></h1>
-<p>The <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> does not strictly follow the <a class="reference external" href="https://semver.org/">SemVer</a> approach of
-Apache Airflow when it comes to features and backwards compatibility. While Airflow code strictly
-follows it, the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is really a way to give users a conveniently packaged Airflow
-using standard container approach, so occasionally there are some changes in the building process
-or in the entrypoint of the image that require slight adaptation of how it is used or built.</p>
-<p>The Changelog below describes the changes introduced in each version of the docker images released by
-the Airflow team.</p>
-<dl class="field-list simple">
-<dt class="field-odd">note</dt>
-<dd class="field-odd"><p>The Changelog below concerns only the convenience production images released at
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">Airflow DockerHub</a> . The images that are released
-there are usually built using the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> released together with Airflow. However, you are
-free to take latest released <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> from Airflow and use it to build an image for
-any Airflow version from the <code class="docutils literal notranslate"><span class="pre">Airflow</span> <span class="pre">2</span></code> line. There is no guarantee that it will work, but if it does,
-then you can use latest features from that image to build images for previous Airflow versions.</p>
-</dd>
-</dl>
-<div class="section" id="changes-after-publishing-the-images">
-<h2>Changes after publishing the images<a class="headerlink" href="#changes-after-publishing-the-images" title="Permalink to this heading">¶</a></h2>
-<p>Occasionally our images need to be regenerated using newer <code class="docutils literal notranslate"><span class="pre">Dockerfiles</span></code> or constraints.
-This happens when an issue is found or a breaking change is released by our dependencies
-that invalidates the already released image, and regenerating the image makes it usable again.
-While we cannot assure 100% backwards compatibility when it happens, we at least document it
-here so that users affected can find the reason for the changes.</p>
-<table class="docutils align-default">
-<colgroup>
-<col style="width: 10%" />
-<col style="width: 14%" />
-<col style="width: 28%" />
-<col style="width: 16%" />
-<col style="width: 32%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Date</p></th>
-<th class="head"><p>Affected images</p></th>
-<th class="head"><p>Potentially breaking change</p></th>
-<th class="head"><p>Reason</p></th>
-<th class="head"><p>Link to Pull Request</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p>17 June 2022</p></td>
-<td><p>2.2.5</p>
-<p>2.3.0-2.3.2</p>
-</td>
-<td><ul class="simple">
-<li><p>The <code class="docutils literal notranslate"><span class="pre">Authlib</span></code> library downgraded
-from 1.0.1 to 0.15.5 version</p></li>
-</ul>
-</td>
-<td><p>Flask App Builder
-not compatible with
-Authlib >= 1.0.0</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/24516">https://github.com/apache/airflow/pull/24516</a></p></td>
-</tr>
-<tr class="row-odd"><td><p>18 Jan 2022</p></td>
-<td><p>All 2.2.*, 2.1.*</p></td>
-<td><ul class="simple">
-<li><p>The AIRFLOW_GID 500 was removed</p></li>
-<li><p>MySQL <code class="docutils literal notranslate"><span class="pre">apt</span></code> repository key changed.</p></li>
-</ul>
-</td>
-<td><p>MySQL changed keys
-to sign their packages
-on 17 Jan 2022</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/airflow/pull/20912">https://github.com/apache/airflow/pull/20912</a></p></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="airflow-2-5-1">
-<h2>Airflow 2.5.1<a class="headerlink" href="#airflow-2-5-1" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.1</p>
-<ul>
-<li><p>The ARM experimental image adds support for MSSQL</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-5">
-<h2>Airflow 2.5<a class="headerlink" href="#airflow-2-5" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.5.0</p>
-<ul>
-<li><p>The docker CLI binary is now added to the images by default (available on PATH). Version 20.10.9 is used.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-4">
-<h2>Airflow 2.4<a class="headerlink" href="#airflow-2-4" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.4.0</p>
-<ul>
-<li><p>You can specify additional <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span></code> flags when you build the image via <code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PIP_INSTALL_FLAGS</span></code>
-build arg.</p></li>
-<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> was dropped, including the possibility of building customized images as
-<code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> reached end of life.</p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-3">
-<h2>Airflow 2.3<a class="headerlink" href="#airflow-2-3" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.3.0</p>
-<ul>
-<li><p>Airflow 2.3 <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> is now better optimized for caching and "standalone" which means that you
-can copy <strong>just</strong> the <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code> to any folder and start building custom images. This,
-however, requires <a class="reference external" href="https://docs.docker.com/develop/develop-images/build_enhancements/">Buildkit</a>
-to build the image because we started using features that are only available in <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code>.
-This can be done by setting <code class="docutils literal notranslate"><span class="pre">DOCKER_BUILDKIT=1</span></code> as an environment variable
-or by installing <a class="reference external" href="https://docs.docker.com/buildx/working-with-buildx/">the buildx plugin</a>
-and running <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">buildx</span> <span class="pre">build</span></code> command.</p></li>
-<li><p>Add Python 3.10 support</p></li>
-<li><p>Switch to <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Bullseye</span></code> based images. <code class="docutils literal notranslate"><span class="pre">Debian</span> <span class="pre">Buster</span></code> is deprecated and only available for
-customized image building.</p></li>
-<li><p>Add Multi-Platform support (AMD64/ARM64) in order to accommodate MacOS M1 users</p></li>
-<li><p>Build parameters which control if packages and Airflow should be installed from context file were
-unified</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code> arg was removed - it is automatically detected now.</p></li>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code> arg changed to <code class="docutils literal notranslate"><span class="pre">INSTALL_PACKAGES_FROM_CONTEXT</span></code></p></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="section" id="airflow-2-2">
-<h2>Airflow 2.2<a class="headerlink" href="#airflow-2-2" title="Permalink to this heading">¶</a></h2>
-<ul class="simple">
-<li><p>2.2.4
-* Add support for both <code class="docutils literal notranslate"><span class="pre">.piprc</span></code> and <code class="docutils literal notranslate"><span class="pre">pip.conf</span></code> customizations
-* Add ArtifactHub labels for better discovery of the images
-* Update default Python image to be 3.7
-* Build images with <code class="docutils literal notranslate"><span class="pre">Buildkit</span></code> (optional)
-* Fix building the image on Azure with <code class="docutils literal notranslate"><span class="pre">text</span> <span class="pre">file</span> <span class="pre">busy</span></code> error</p></li>
-<li><p>2.2.3
-* No changes</p></li>
-<li><p>2.2.2
-* No changes</p></li>
-<li><p>2.2.1
-* Workaround the problem with <code class="docutils literal notranslate"><span class="pre">libstdcpp</span></code> TLS error</p></li>
-<li><p>2.2.0
-* Remove AIRFLOW_GID (5000) from Airflow images (potentially breaking change for users using it)
-* Added warnings for Quick-start docker compose
-* Fix warm shutdown for celery worker (signal propagation)
-* Add Oauth libraries to PROD images
-* Add Python 3.9 support</p></li>
-</ul>
-</div>
-<div class="section" id="airflow-2-1">
-<h2>Airflow 2.1<a class="headerlink" href="#airflow-2-1" title="Permalink to this heading">¶</a></h2>
-<ul>
-<li><p>MySQL changed the keys to sign their packages on 17 Feb 2022. This caused all released images
-to fail when being extended. As result, on 18 Feb 2021 we re-released all
-the <code class="docutils literal notranslate"><span class="pre">2.2</span></code> and <code class="docutils literal notranslate"><span class="pre">2.1</span></code> images with latest versions of <code class="docutils literal notranslate"><span class="pre">Dockerfile</span></code>
-containing the new signing key.</p>
... 305006 lines suppressed ...