mirror of https://github.com/apache/superset.git
refactor: type hints should not be load in runtime (#15540)
This commit is contained in:
parent
624b41347b
commit
15796ea4ac
|
@ -14,8 +14,10 @@
|
||||||
# KIND, either express or implied. See the License for the
|
# KIND, either express or implied. See the License for the
|
||||||
# specific language governing permissions and limitations
|
# specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
from typing import Any, ClassVar, Dict, List, Optional, TYPE_CHECKING, Union
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
@ -34,7 +36,6 @@ from superset.exceptions import (
|
||||||
SupersetException,
|
SupersetException,
|
||||||
)
|
)
|
||||||
from superset.extensions import cache_manager, security_manager
|
from superset.extensions import cache_manager, security_manager
|
||||||
from superset.stats_logger import BaseStatsLogger
|
|
||||||
from superset.utils import csv
|
from superset.utils import csv
|
||||||
from superset.utils.cache import generate_cache_key, set_and_log_cache
|
from superset.utils.cache import generate_cache_key, set_and_log_cache
|
||||||
from superset.utils.core import (
|
from superset.utils.core import (
|
||||||
|
@ -50,6 +51,9 @@ from superset.utils.core import (
|
||||||
)
|
)
|
||||||
from superset.views.utils import get_viz
|
from superset.views.utils import get_viz
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from superset.stats_logger import BaseStatsLogger
|
||||||
|
|
||||||
config = app.config
|
config = app.config
|
||||||
stats_logger: BaseStatsLogger = config["STATS_LOGGER"]
|
stats_logger: BaseStatsLogger = config["STATS_LOGGER"]
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
|
@ -14,10 +14,12 @@
|
||||||
# KIND, either express or implied. See the License for the
|
# KIND, either express or implied. See the License for the
|
||||||
# specific language governing permissions and limitations
|
# specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from typing import Any, Callable, Dict, Optional, Union
|
from typing import Any, Callable, Dict, Optional, TYPE_CHECKING, Union
|
||||||
|
|
||||||
from flask import current_app as app, request
|
from flask import current_app as app, request
|
||||||
from flask_caching import Cache
|
from flask_caching import Cache
|
||||||
|
@ -27,10 +29,12 @@ from werkzeug.wrappers.etag import ETagResponseMixin
|
||||||
from superset import db
|
from superset import db
|
||||||
from superset.extensions import cache_manager
|
from superset.extensions import cache_manager
|
||||||
from superset.models.cache import CacheKey
|
from superset.models.cache import CacheKey
|
||||||
from superset.stats_logger import BaseStatsLogger
|
|
||||||
from superset.utils.core import json_int_dttm_ser
|
from superset.utils.core import json_int_dttm_ser
|
||||||
from superset.utils.hashing import md5_sha_from_dict
|
from superset.utils.hashing import md5_sha_from_dict
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from superset.stats_logger import BaseStatsLogger
|
||||||
|
|
||||||
config = app.config # type: ignore
|
config = app.config # type: ignore
|
||||||
stats_logger: BaseStatsLogger = config["STATS_LOGGER"]
|
stats_logger: BaseStatsLogger = config["STATS_LOGGER"]
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
|
@ -14,19 +14,23 @@
|
||||||
# KIND, either express or implied. See the License for the
|
# KIND, either express or implied. See the License for the
|
||||||
# specific language governing permissions and limitations
|
# specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import time
|
import time
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from typing import Any, Callable, Dict, Iterator, Union
|
from typing import Any, Callable, Dict, Iterator, TYPE_CHECKING, Union
|
||||||
|
|
||||||
from contextlib2 import contextmanager
|
from contextlib2 import contextmanager
|
||||||
from flask import current_app, Response
|
from flask import current_app, Response
|
||||||
|
|
||||||
from superset import is_feature_enabled
|
from superset import is_feature_enabled
|
||||||
from superset.dashboards.commands.exceptions import DashboardAccessDeniedError
|
from superset.dashboards.commands.exceptions import DashboardAccessDeniedError
|
||||||
from superset.stats_logger import BaseStatsLogger
|
|
||||||
from superset.utils import core as utils
|
from superset.utils import core as utils
|
||||||
from superset.utils.dates import now_as_float
|
from superset.utils.dates import now_as_float
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from superset.stats_logger import BaseStatsLogger
|
||||||
|
|
||||||
|
|
||||||
@contextmanager
|
@contextmanager
|
||||||
def stats_timing(stats_key: str, stats_logger: BaseStatsLogger) -> Iterator[float]:
|
def stats_timing(stats_key: str, stats_logger: BaseStatsLogger) -> Iterator[float]:
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
# KIND, either express or implied. See the License for the
|
# KIND, either express or implied. See the License for the
|
||||||
# specific language governing permissions and limitations
|
# specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import functools
|
import functools
|
||||||
import inspect
|
import inspect
|
||||||
import json
|
import json
|
||||||
|
@ -22,14 +24,25 @@ import textwrap
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from typing import Any, Callable, cast, Dict, Iterator, Optional, Type, Union
|
from typing import (
|
||||||
|
Any,
|
||||||
|
Callable,
|
||||||
|
cast,
|
||||||
|
Dict,
|
||||||
|
Iterator,
|
||||||
|
Optional,
|
||||||
|
Type,
|
||||||
|
TYPE_CHECKING,
|
||||||
|
Union,
|
||||||
|
)
|
||||||
|
|
||||||
from flask import current_app, g, request
|
from flask import current_app, g, request
|
||||||
from flask_appbuilder.const import API_URI_RIS_KEY
|
from flask_appbuilder.const import API_URI_RIS_KEY
|
||||||
from sqlalchemy.exc import SQLAlchemyError
|
from sqlalchemy.exc import SQLAlchemyError
|
||||||
from typing_extensions import Literal
|
from typing_extensions import Literal
|
||||||
|
|
||||||
from superset.stats_logger import BaseStatsLogger
|
if TYPE_CHECKING:
|
||||||
|
from superset.stats_logger import BaseStatsLogger
|
||||||
|
|
||||||
|
|
||||||
def collect_request_payload() -> Dict[str, Any]:
|
def collect_request_payload() -> Dict[str, Any]:
|
||||||
|
|
Loading…
Reference in New Issue