Skip to content

Commit 4d03e33

Browse files
authored
[AIRFLOW-6817] remove imports from airflow/__init__.py, replaced implicit imports with explicit imports, added entry to UPDATING.MD - squashed/rebased (#7456)
1 parent 9e63fec commit 4d03e33

File tree

211 files changed

+391
-376
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+391
-376
lines changed

UPDATING.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,19 @@ https://developers.google.com/style/inclusive-documentation
6161
6262
-->
6363

64+
### Removed sub-package imports from `airflow/__init__.py`
65+
66+
The imports `LoggingMixin`, `conf`, `AirflowException`, and `DAG` have been removed from `airflow/__init__.py`.
67+
All implicit references of these objects will no longer be valid. To migrate, all usages of each old path must be
68+
replaced with its corresponding new path.
69+
70+
| Old Path (Implicit Import) | New Path (Explicit Import) |
71+
|------------------------------|--------------------------------------------------|
72+
| ``airflow.LoggingMixin`` | ``airflow.utils.log.logging_mixin.LoggingMixin`` |
73+
| ``airflow.conf`` | ``airflow.configuration.conf`` |
74+
| ``airflow.AirflowException`` | ``airflow.exceptions.AirflowException`` |
75+
| ``airflow.DAG`` | ``airflow.models.dag.DAG`` |
76+
6477
### Success Callback will be called when a task in marked as success from UI
6578

6679
When a task is marked as success by a used from Airflow UI - on_success_callback will be called
@@ -1703,7 +1716,7 @@ Type "help", "copyright", "credits" or "license" for more information.
17031716
>>> from airflow.settings import *
17041717
>>>
17051718
>>> from datetime import datetime
1706-
>>> from airflow import DAG
1719+
>>> from airflow.models.dag import DAG
17071720
>>> from airflow.operators.dummy_operator import DummyOperator
17081721
>>>
17091722
>>> dag = DAG('simple_dag', start_date=datetime(2017, 9, 1))

airflow/__init__.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,8 @@
3030
# pylint: disable=wrong-import-position
3131
from typing import Callable, Optional
3232

33-
from airflow import utils
3433
from airflow import settings
3534
from airflow import version
36-
from airflow.utils.log.logging_mixin import LoggingMixin
37-
from airflow.configuration import conf
38-
from airflow.exceptions import AirflowException
39-
from airflow.models.dag import DAG
4035

4136
__version__ = version.version
4237

airflow/api/client/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
from importlib import import_module
2222
from typing import Any
2323

24-
from airflow import api, conf
24+
from airflow import api
2525
from airflow.api.client.api_client import Client
26+
from airflow.configuration import conf
2627

2728

2829
def get_current_api_client() -> Client:

airflow/cli/commands/dag_command.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@
2626

2727
from tabulate import tabulate
2828

29-
from airflow import DAG, AirflowException, conf, jobs, settings
29+
from airflow import jobs, settings
3030
from airflow.api.client import get_current_api_client
31+
from airflow.configuration import conf
32+
from airflow.exceptions import AirflowException
3133
from airflow.executors.debug_executor import DebugExecutor
3234
from airflow.models import DagBag, DagModel, DagRun, TaskInstance
35+
from airflow.models.dag import DAG
3336
from airflow.utils import cli as cli_utils
3437
from airflow.utils.cli import get_dag, get_dag_by_file_location, process_subdir, sigint_handler
3538
from airflow.utils.dot_renderer import render_dag

airflow/cli/commands/db_command.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
import textwrap
2121
from tempfile import NamedTemporaryFile
2222

23-
from airflow import AirflowException, settings
23+
from airflow import settings
24+
from airflow.exceptions import AirflowException
2425
from airflow.utils import cli as cli_utils, db
2526

2627

airflow/cli/commands/task_command.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,12 @@
2626

2727
from tabulate import tabulate
2828

29-
from airflow import DAG, AirflowException, conf, jobs, settings
29+
from airflow import jobs, settings
30+
from airflow.configuration import conf
31+
from airflow.exceptions import AirflowException
3032
from airflow.executors.executor_loader import ExecutorLoader
3133
from airflow.models import DagPickle, TaskInstance
34+
from airflow.models.dag import DAG
3235
from airflow.ti_deps.dep_context import DepContext
3336
from airflow.ti_deps.dependencies import SCHEDULER_QUEUED_DEPS
3437
from airflow.utils import cli as cli_utils

airflow/cli/commands/webserver_command.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@
2828
import psutil
2929
from daemon.pidfile import TimeoutPIDLockFile
3030

31-
from airflow import AirflowException, conf, settings
32-
from airflow.exceptions import AirflowWebServerTimeout
31+
from airflow import settings
32+
from airflow.configuration import conf
33+
from airflow.exceptions import AirflowException, AirflowWebServerTimeout
3334
from airflow.utils import cli as cli_utils
3435
from airflow.utils.cli import setup_locations, setup_logging
3536
from airflow.www.app import cached_app, create_app

airflow/config_templates/airflow_local_settings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
from typing import Any, Dict, Union
2222
from urllib.parse import urlparse
2323

24-
from airflow import AirflowException, conf
24+
from airflow.configuration import conf
25+
from airflow.exceptions import AirflowException
2526
from airflow.utils.file import mkdirs
2627

2728
# TODO: Logging format and level should be configured

airflow/example_dags/example_passing_params_via_test_command.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
from datetime import timedelta
2222

23-
from airflow import DAG
23+
from airflow.models.dag import DAG
2424
from airflow.operators.bash import BashOperator
2525
from airflow.operators.python import PythonOperator
2626
from airflow.utils.dates import days_ago

airflow/example_dags/example_trigger_controller_dag.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@
2121
1. 1st DAG (example_trigger_controller_dag) holds a TriggerDagRunOperator, which will trigger the 2nd DAG
2222
2. 2nd DAG (example_trigger_target_dag) which will be triggered by the TriggerDagRunOperator in the 1st DAG
2323
"""
24-
25-
from airflow import DAG
24+
from airflow.models.dag import DAG
2625
from airflow.operators.dagrun_operator import TriggerDagRunOperator
2726
from airflow.utils.dates import days_ago
2827

0 commit comments

Comments
 (0)