Skip to content

Commit d719e1f

Browse files
KevinYang21kaxil
authored andcommitted
[AIRFLOW-5362] Reorder imports (#5944)
1 parent 4dd24a2 commit d719e1f

File tree

773 files changed

+1842
-2338
lines changed

Some content is hidden

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

773 files changed

+1842
-2338
lines changed

.pre-commit-config.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,19 @@ repos:
210210
entry: "./scripts/ci/pre_commit_pylint_tests.sh"
211211
files: ^tests/.*\.py$
212212
pass_filenames: true
213+
- id: isort
214+
name: Run isort to sort imports
215+
language: python
216+
entry: isort
217+
files: \.py$
218+
# To keep consistent with the global isort skip config defined in setup.cfg
219+
exclude: ^airflow/_vendor/.*$|^build/.*$|^.tox/.*$|^venv/.*$
220+
additional_dependencies: ['isort']
213221
- id: flake8
214222
name: Run flake8
215223
language: system
216224
entry: "./scripts/ci/pre_commit_flake8.sh"
217225
files: \.py$
218226
pass_filenames: true
227+
args:
228+
- --isort-show-traceback

airflow/__init__.py

+17-16
Original file line numberDiff line numberDiff line change
@@ -23,40 +23,41 @@
2323
implement their own login mechanisms by providing an `airflow_login` module
2424
in their PYTHONPATH. airflow_login should be based off the
2525
`airflow.www.login`
26-
"""
2726
28-
from typing import Optional, Callable
29-
from airflow import version
30-
from airflow.utils.log.logging_mixin import LoggingMixin
31-
32-
__version__ = version.version
33-
34-
import sys
27+
isort:skip_file
28+
"""
3529

3630
# flake8: noqa: F401
31+
from typing import Callable, Optional
32+
3733
from airflow import settings
34+
from airflow import version
35+
from airflow.utils.log.logging_mixin import LoggingMixin
3836
from airflow.configuration import conf
39-
from airflow.models import DAG
4037
from airflow.exceptions import AirflowException
38+
from airflow.models import DAG
39+
40+
41+
__version__ = version.version
4142

4243
settings.initialize()
4344

4445
login = None # type: Optional[Callable]
4546

47+
from airflow import executors
48+
from airflow import hooks
49+
from airflow import macros
50+
from airflow import operators
51+
from airflow import sensors
52+
4653

4754
class AirflowMacroPlugin:
4855
def __init__(self, namespace):
4956
self.namespace = namespace
5057

5158

52-
from airflow import operators # noqa: E402
53-
from airflow import sensors # noqa: E402
54-
from airflow import hooks # noqa: E402
55-
from airflow import executors # noqa: E402
56-
from airflow import macros # noqa: E402
57-
5859
operators._integrate_plugins()
59-
sensors._integrate_plugins() # noqa: E402
60+
sensors._integrate_plugins()
6061
hooks._integrate_plugins()
6162
executors._integrate_plugins()
6263
macros._integrate_plugins()

airflow/api/__init__.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@
2020

2121
from importlib import import_module
2222

23-
from airflow.exceptions import AirflowException, AirflowConfigException
2423
from airflow.configuration import conf
25-
24+
from airflow.exceptions import AirflowConfigException, AirflowException
2625
from airflow.utils.log.logging_mixin import LoggingMixin
2726

2827

airflow/api/auth/backend/default.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
# specific language governing permissions and limitations
1818
# under the License.
1919
"""Default authentication backend - everything is allowed"""
20-
from typing import Optional
2120
from functools import wraps
21+
from typing import Optional
22+
2223
from airflow.typing import Protocol
2324

2425

airflow/api/auth/backend/deny_all.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717
# specific language governing permissions and limitations
1818
# under the License.
1919
"""Authentication backend that denies all requests"""
20-
from typing import Optional
2120
from functools import wraps
21+
from typing import Optional
22+
2223
from flask import Response
23-
from airflow.api.auth.backend.default import ClientAuthProtocol
2424

25+
from airflow.api.auth.backend.default import ClientAuthProtocol
2526

2627
CLIENT_AUTH = None # type: Optional[ClientAuthProtocol]
2728

airflow/api/auth/backend/kerberos_auth.py

+2-10
Original file line numberDiff line numberDiff line change
@@ -42,25 +42,17 @@
4242
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4343
"""Kerberos authentication module"""
4444
import os
45-
4645
from functools import wraps
4746
from socket import getfqdn
4847

49-
from flask import Response
50-
# noinspection PyProtectedMember
51-
from flask import _request_ctx_stack as stack # type: ignore
52-
from flask import make_response
53-
from flask import request
54-
from flask import g
55-
5648
import kerberos
57-
49+
# noinspection PyProtectedMember
50+
from flask import Response, _request_ctx_stack as stack, g, make_response, request # type: ignore
5851
from requests_kerberos import HTTPKerberosAuth
5952

6053
from airflow.configuration import conf
6154
from airflow.utils.log.logging_mixin import LoggingMixin
6255

63-
6456
# pylint: disable=c-extension-no-member
6557
CLIENT_AUTH = HTTPKerberosAuth(service='airflow')
6658

airflow/api/client/local_client.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@
1919
"""Local client API"""
2020

2121
from airflow.api.client import api_client
22-
from airflow.api.common.experimental import pool
23-
from airflow.api.common.experimental import trigger_dag
24-
from airflow.api.common.experimental import delete_dag
22+
from airflow.api.common.experimental import delete_dag, pool, trigger_dag
2523

2624

2725
class Client(api_client.Client):

airflow/api/common/experimental/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from datetime import datetime
2121
from typing import Optional
2222

23-
from airflow.exceptions import DagNotFound, TaskNotFound, DagRunNotFound
23+
from airflow.exceptions import DagNotFound, DagRunNotFound, TaskNotFound
2424
from airflow.models import DagBag, DagModel, DagRun
2525

2626

airflow/api/common/experimental/delete_dag.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
from sqlalchemy import or_
2222

2323
from airflow import models
24-
from airflow.models import TaskFail, DagModel
25-
from airflow.utils.db import provide_session
2624
from airflow.exceptions import DagNotFound
25+
from airflow.models import DagModel, TaskFail
26+
from airflow.utils.db import provide_session
2727

2828

2929
@provide_session

airflow/api/common/experimental/get_dag_runs.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# specific language governing permissions and limitations
1818
# under the License.
1919
"""DAG runs APIs."""
20-
from typing import Optional, List, Dict, Any
20+
from typing import Any, Dict, List, Optional
2121

2222
from flask import url_for
2323

airflow/api/common/experimental/trigger_dag.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
"""Triggering DAG runs APIs."""
2020
import json
2121
from datetime import datetime
22-
from typing import Union, Optional, List
22+
from typing import List, Optional, Union
2323

24-
from airflow.exceptions import DagRunAlreadyExists, DagNotFound
25-
from airflow.models import DagRun, DagBag, DagModel
24+
from airflow.exceptions import DagNotFound, DagRunAlreadyExists
25+
from airflow.models import DagBag, DagModel, DagRun
2626
from airflow.utils import timezone
2727
from airflow.utils.state import State
2828

airflow/bin/airflow

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919
# specific language governing permissions and limitations
2020
# under the License.
2121
import os
22+
2223
import argcomplete
2324

24-
from airflow.configuration import conf
2525
from airflow.bin.cli import CLIFactory
26+
from airflow.configuration import conf
2627

2728
if __name__ == '__main__':
2829

airflow/bin/cli.py

+25-33
Original file line numberDiff line numberDiff line change
@@ -17,57 +17,49 @@
1717
# KIND, either express or implied. See the License for the
1818
# specific language governing permissions and limitations
1919
# under the License.
20+
import argparse
2021
import errno
22+
import functools
23+
import getpass
2124
import importlib
25+
import json
2226
import logging
23-
2427
import os
25-
import subprocess
26-
import textwrap
2728
import random
28-
import string
29-
from importlib import import_module
30-
import functools
31-
32-
import getpass
29+
import re
3330
import reprlib
34-
import argparse
35-
from argparse import RawTextHelpFormatter
36-
37-
from airflow.utils.dot_renderer import render_dag
38-
from airflow.utils.timezone import parse as parsedate
39-
import json
40-
from tabulate import tabulate
41-
42-
import daemon
43-
from daemon.pidfile import TimeoutPIDLockFile
4431
import signal
32+
import string
33+
import subprocess
4534
import sys
35+
import textwrap
4636
import threading
47-
import traceback
4837
import time
49-
import psutil
50-
import re
51-
from urllib.parse import urlunparse
38+
import traceback
39+
from argparse import RawTextHelpFormatter
40+
from importlib import import_module
5241
from typing import Any
42+
from urllib.parse import urlunparse
43+
44+
import daemon
45+
import psutil
46+
from daemon.pidfile import TimeoutPIDLockFile
47+
from sqlalchemy.orm import exc
48+
from tabulate import tabulate
5349

5450
import airflow
55-
from airflow import api
56-
from airflow import jobs, settings
51+
from airflow import api, jobs, settings
5752
from airflow.configuration import conf
5853
from airflow.exceptions import AirflowException, AirflowWebServerTimeout
5954
from airflow.executors import get_default_executor
60-
from airflow.models import (
61-
Connection, DagModel, DagBag, DagPickle, TaskInstance, DagRun, Variable, DAG
62-
)
63-
from airflow.ti_deps.dep_context import (DepContext, SCHEDULER_QUEUED_DEPS)
55+
from airflow.models import DAG, Connection, DagBag, DagModel, DagPickle, DagRun, TaskInstance, Variable
56+
from airflow.ti_deps.dep_context import SCHEDULER_QUEUED_DEPS, DepContext
6457
from airflow.utils import cli as cli_utils, db
58+
from airflow.utils.dot_renderer import render_dag
59+
from airflow.utils.log.logging_mixin import LoggingMixin, redirect_stderr, redirect_stdout
6560
from airflow.utils.net import get_hostname
66-
from airflow.utils.log.logging_mixin import (LoggingMixin, redirect_stderr,
67-
redirect_stdout)
68-
from airflow.www.app import cached_app, create_app, cached_appbuilder
69-
70-
from sqlalchemy.orm import exc
61+
from airflow.utils.timezone import parse as parsedate
62+
from airflow.www.app import cached_app, cached_appbuilder, create_app
7163

7264
api.load_auth()
7365
api_module = import_module(conf.get('cli', 'api_client')) # type: Any

airflow/config_templates/airflow_local_settings.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
# under the License.
1919

2020
import os
21-
from typing import Dict, Any
21+
from typing import Any, Dict
2222

2323
from airflow.configuration import conf
2424
from airflow.utils.file import mkdirs

airflow/config_templates/default_webserver_config.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,16 @@
1818
# under the License.
1919
"""Default configuration for the Airflow webserver"""
2020
import os
21+
2122
from flask_appbuilder.security.manager import AUTH_DB
23+
24+
from airflow.configuration import conf
25+
2226
# from flask_appbuilder.security.manager import AUTH_LDAP
2327
# from flask_appbuilder.security.manager import AUTH_OAUTH
2428
# from flask_appbuilder.security.manager import AUTH_OID
2529
# from flask_appbuilder.security.manager import AUTH_REMOTE_USER
2630

27-
from airflow.configuration import conf
2831

2932
basedir = os.path.abspath(os.path.dirname(__file__))
3033

airflow/configuration.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@
1717
# specific language governing permissions and limitations
1818
# under the License.
1919

20-
from base64 import b64encode
21-
from collections import OrderedDict
2220
import copy
2321
import os
2422
import pathlib
2523
import shlex
2624
import subprocess
2725
import sys
2826
import warnings
27+
from base64 import b64encode
28+
from collections import OrderedDict
2929
# Ignored Mypy on configparser because it thinks the configparser module has no _UNSET attribute
30-
from configparser import ConfigParser, _UNSET, NoOptionError, NoSectionError # type: ignore
30+
from configparser import _UNSET, ConfigParser, NoOptionError, NoSectionError # type: ignore
3131

3232
from zope.deprecation import deprecated
3333

airflow/contrib/auth/backends/github_enterprise_auth.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,10 @@
1717
# specific language governing permissions and limitations
1818
# under the License.
1919
import flask_login
20-
20+
from flask import redirect, request, url_for
2121
# Need to expose these downstream
2222
# flake8: noqa: F401
23-
from flask_login import current_user, logout_user, login_required, login_user
24-
25-
from flask import url_for, redirect, request
26-
23+
from flask_login import current_user, login_required, login_user, logout_user
2724
from flask_oauthlib.client import OAuth
2825

2926
from airflow import models

airflow/contrib/auth/backends/google_auth.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,10 @@
1717
# specific language governing permissions and limitations
1818
# under the License.
1919
import flask_login
20-
20+
from flask import redirect, request, url_for
2121
# Need to expose these downstream
2222
# flake8: noqa: F401
23-
from flask_login import current_user, logout_user, login_required, login_user
24-
25-
from flask import url_for, redirect, request
26-
23+
from flask_login import current_user, login_required, login_user, logout_user
2724
from flask_oauthlib.client import OAuth
2825

2926
from airflow import models

0 commit comments

Comments
 (0)