diff --git a/.github/workflows/superset-python.yml b/.github/workflows/superset-python.yml index f8940db4e..1a1e2c703 100644 --- a/.github/workflows/superset-python.yml +++ b/.github/workflows/superset-python.yml @@ -30,7 +30,7 @@ jobs: runs-on: ubuntu-18.04 strategy: matrix: - python-version: [3.6] + python-version: [3.7] steps: - name: Checkout code uses: actions/checkout@v2 diff --git a/setup.cfg b/setup.cfg index 18a07194e..451865a1e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -38,7 +38,7 @@ combine_as_imports = true include_trailing_comma = true line_length = 88 known_first_party = superset -known_third_party =alembic,apispec,backoff,bleach,cachelib,celery,click,colorama,contextlib2,croniter,cryptography,dataclasses,dateutil,flask,flask_appbuilder,flask_babel,flask_caching,flask_compress,flask_login,flask_migrate,flask_sqlalchemy,flask_talisman,flask_testing,flask_wtf,geohash,geopy,humanize,isodate,jinja2,markdown,markupsafe,marshmallow,msgpack,numpy,pandas,parameterized,parsedatetime,pathlib2,polyline,prison,pyarrow,pyhive,pytest,pytz,retry,selenium,setuptools,simplejson,slack,sphinx_rtd_theme,sqlalchemy,sqlalchemy_utils,sqlparse,werkzeug,wtforms,wtforms_json,yaml +known_third_party =alembic,apispec,backoff,bleach,cachelib,celery,click,colorama,contextlib2,croniter,cryptography,dateutil,flask,flask_appbuilder,flask_babel,flask_caching,flask_compress,flask_login,flask_migrate,flask_sqlalchemy,flask_talisman,flask_testing,flask_wtf,geohash,geopy,humanize,isodate,jinja2,markdown,markupsafe,marshmallow,msgpack,numpy,pandas,parameterized,parsedatetime,pathlib2,polyline,prison,pyarrow,pyhive,pytest,pytz,retry,selenium,setuptools,simplejson,slack,sphinx_rtd_theme,sqlalchemy,sqlalchemy_utils,sqlparse,werkzeug,wtforms,wtforms_json,yaml multi_line_output = 3 order_by_type = false diff --git a/superset/db_engine_specs/base.py b/superset/db_engine_specs/base.py index cfd651b13..136ca5571 100644 --- a/superset/db_engine_specs/base.py +++ b/superset/db_engine_specs/base.py @@ -15,6 +15,7 @@ # specific language governing permissions and limitations # under the License. # pylint: disable=unused-argument +import dataclasses import hashlib import json import logging @@ -33,7 +34,6 @@ from typing import ( Union, ) -import dataclasses import pandas as pd import sqlparse from flask import g diff --git a/superset/errors.py b/superset/errors.py index 08a8cd80a..3542d7d3b 100644 --- a/superset/errors.py +++ b/superset/errors.py @@ -15,10 +15,10 @@ # specific language governing permissions and limitations # under the License. # pylint: disable=too-few-public-methods,invalid-name +from dataclasses import dataclass from enum import Enum from typing import Any, Dict, Optional -from dataclasses import dataclass from flask_babel import gettext as _ diff --git a/superset/sql_parse.py b/superset/sql_parse.py index 27119497d..e532a5eef 100644 --- a/superset/sql_parse.py +++ b/superset/sql_parse.py @@ -15,12 +15,12 @@ # specific language governing permissions and limitations # under the License. import logging +from dataclasses import dataclass from enum import Enum from typing import List, Optional, Set from urllib import parse import sqlparse -from dataclasses import dataclass from sqlparse.sql import Identifier, IdentifierList, remove_quotes, Token, TokenList from sqlparse.tokens import Keyword, Name, Punctuation, String, Whitespace from sqlparse.utils import imt diff --git a/superset/views/base.py b/superset/views/base.py index 7aeae79bd..692f289b1 100644 --- a/superset/views/base.py +++ b/superset/views/base.py @@ -14,13 +14,13 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +import dataclasses import functools import logging import traceback from datetime import datetime from typing import Any, Callable, cast, Dict, List, Optional, TYPE_CHECKING, Union -import dataclasses import simplejson as json import yaml from flask import abort, flash, g, get_flashed_messages, redirect, Response, session diff --git a/superset/viz.py b/superset/viz.py index 7d14bad29..4619552a9 100644 --- a/superset/viz.py +++ b/superset/viz.py @@ -21,6 +21,7 @@ These objects represent the backend of all the visualizations that Superset can render. """ import copy +import dataclasses import inspect import logging import math @@ -42,7 +43,6 @@ from typing import ( Union, ) -import dataclasses import geohash import numpy as np import pandas as pd diff --git a/superset/viz_sip38.py b/superset/viz_sip38.py index 4b8c6a59b..368fcec39 100644 --- a/superset/viz_sip38.py +++ b/superset/viz_sip38.py @@ -22,6 +22,7 @@ Superset can render. """ # mypy: ignore-errors import copy +import dataclasses import hashlib import inspect import logging @@ -33,7 +34,6 @@ from datetime import datetime, timedelta from itertools import product from typing import Any, Dict, List, Optional, Set, Tuple, TYPE_CHECKING -import dataclasses import geohash import numpy as np import pandas as pd