|
3 | 3 | import os |
4 | 4 | import pathlib |
5 | 5 | import sys |
6 | | -import typing as t |
7 | 6 | import time |
| 7 | +import typing as t |
8 | 8 | from contextlib import contextmanager |
| 9 | +from dataclasses import dataclass |
9 | 10 |
|
10 | 11 | import pandas as pd # noqa: TID253 |
11 | 12 | import pytest |
| 13 | +from _pytest.mark import MarkDecorator |
| 14 | +from _pytest.mark.structures import ParameterSet |
12 | 15 | from sqlglot import exp, parse_one |
13 | 16 | from sqlglot.optimizer.normalize_identifiers import normalize_identifiers |
14 | 17 |
|
| 18 | +import sqlmesh.core.dialect as d |
15 | 19 | from sqlmesh import Config, Context, EngineAdapter |
16 | 20 | from sqlmesh.core.config import load_config_from_paths |
17 | 21 | from sqlmesh.core.config.connection import AthenaConnectionConfig |
18 | 22 | from sqlmesh.core.dialect import normalize_model_name |
19 | | -import sqlmesh.core.dialect as d |
20 | | -from sqlmesh.core.engine_adapter import SparkEngineAdapter, TrinoEngineAdapter, AthenaEngineAdapter |
| 23 | +from sqlmesh.core.engine_adapter import AthenaEngineAdapter, SparkEngineAdapter, TrinoEngineAdapter |
21 | 24 | from sqlmesh.core.engine_adapter.shared import DataObject |
22 | 25 | from sqlmesh.core.model.definition import SqlModel, load_sql_based_model |
23 | 26 | from sqlmesh.utils import random_id |
24 | 27 | from sqlmesh.utils.date import to_ds |
25 | 28 | from sqlmesh.utils.pydantic import PydanticModel |
26 | 29 | from tests.utils.pandas import compare_dataframes |
27 | | -from dataclasses import dataclass |
28 | | -from _pytest.mark import MarkDecorator |
29 | | -from _pytest.mark.structures import ParameterSet |
30 | 30 |
|
31 | 31 | if t.TYPE_CHECKING: |
32 | 32 | from sqlmesh.core._typing import TableName, SchemaName |
|
0 commit comments