sqlmesh 0.188.2.dev16__py3-none-any.whl → 0.188.2.dev18__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. sqlmesh/_version.py +2 -2
  2. sqlmesh/core/console.py +1 -1
  3. sqlmesh/core/context.py +15 -25
  4. sqlmesh/core/dialect.py +2 -1
  5. sqlmesh/core/engine_adapter/_typing.py +1 -1
  6. sqlmesh/core/engine_adapter/base.py +15 -2
  7. sqlmesh/core/engine_adapter/bigquery.py +3 -1
  8. sqlmesh/core/engine_adapter/clickhouse.py +2 -1
  9. sqlmesh/core/engine_adapter/databricks.py +4 -1
  10. sqlmesh/core/engine_adapter/mssql.py +7 -2
  11. sqlmesh/core/engine_adapter/redshift.py +6 -1
  12. sqlmesh/core/engine_adapter/snowflake.py +6 -2
  13. sqlmesh/core/engine_adapter/spark.py +3 -1
  14. sqlmesh/core/engine_adapter/trino.py +4 -2
  15. sqlmesh/core/model/definition.py +2 -1
  16. sqlmesh/core/model/seed.py +5 -1
  17. sqlmesh/core/snapshot/evaluator.py +4 -1
  18. sqlmesh/core/state_sync/db/environment.py +7 -1
  19. sqlmesh/core/state_sync/db/interval.py +7 -1
  20. sqlmesh/core/state_sync/db/snapshot.py +6 -1
  21. sqlmesh/core/state_sync/db/version.py +2 -1
  22. sqlmesh/core/table_diff.py +18 -2
  23. sqlmesh/core/test/definition.py +13 -2
  24. sqlmesh/dbt/adapter.py +2 -1
  25. sqlmesh/dbt/util.py +5 -1
  26. sqlmesh/migrations/v0007_env_table_info_to_kind.py +2 -1
  27. sqlmesh/migrations/v0009_remove_pre_post_hooks.py +2 -1
  28. sqlmesh/migrations/v0011_add_model_kind_name.py +2 -1
  29. sqlmesh/migrations/v0012_update_jinja_expressions.py +2 -1
  30. sqlmesh/migrations/v0013_serde_using_model_dialects.py +2 -1
  31. sqlmesh/migrations/v0016_fix_windows_path.py +2 -1
  32. sqlmesh/migrations/v0017_fix_windows_seed_path.py +2 -1
  33. sqlmesh/migrations/v0018_rename_snapshot_model_to_node.py +2 -1
  34. sqlmesh/migrations/v0020_remove_redundant_attributes_from_dbt_models.py +2 -1
  35. sqlmesh/migrations/v0021_fix_table_properties.py +2 -1
  36. sqlmesh/migrations/v0022_move_project_to_model.py +2 -1
  37. sqlmesh/migrations/v0024_replace_model_kind_name_enum_with_value.py +2 -1
  38. sqlmesh/migrations/v0025_fix_intervals_and_missing_change_category.py +2 -1
  39. sqlmesh/migrations/v0026_remove_dialect_from_seed.py +2 -1
  40. sqlmesh/migrations/v0027_minute_interval_to_five.py +2 -1
  41. sqlmesh/migrations/v0029_generate_schema_types_using_dialect.py +2 -1
  42. sqlmesh/migrations/v0030_update_unrestorable_snapshots.py +2 -1
  43. sqlmesh/migrations/v0031_remove_dbt_target_fields.py +2 -1
  44. sqlmesh/migrations/v0034_add_default_catalog.py +2 -1
  45. sqlmesh/migrations/v0037_remove_dbt_is_incremental_macro.py +2 -1
  46. sqlmesh/migrations/v0038_add_expiration_ts_to_snapshot.py +2 -1
  47. sqlmesh/migrations/v0039_include_environment_in_plan_dag_spec.py +2 -1
  48. sqlmesh/migrations/v0041_remove_hash_raw_query_attribute.py +2 -1
  49. sqlmesh/migrations/v0042_trim_indirect_versions.py +2 -1
  50. sqlmesh/migrations/v0043_fix_remove_obsolete_attributes_in_plan_dags.py +2 -1
  51. sqlmesh/migrations/v0045_move_gateway_variable.py +2 -1
  52. sqlmesh/migrations/v0048_drop_indirect_versions.py +2 -1
  53. sqlmesh/migrations/v0051_rename_column_descriptions.py +2 -1
  54. sqlmesh/migrations/v0055_add_updated_ts_unpaused_ts_ttl_ms_unrestorable_to_snapshot.py +2 -1
  55. sqlmesh/migrations/v0060_move_audits_to_model.py +2 -1
  56. sqlmesh/migrations/v0063_change_signals.py +2 -1
  57. sqlmesh/migrations/v0064_join_when_matched_strings.py +2 -1
  58. sqlmesh/migrations/v0069_update_dev_table_suffix.py +2 -1
  59. sqlmesh/migrations/v0071_add_dev_version_to_intervals.py +4 -1
  60. sqlmesh/migrations/v0073_remove_symbolic_disable_restatement.py +2 -1
  61. sqlmesh/migrations/v0075_remove_validate_query.py +2 -1
  62. sqlmesh/migrations/v0081_update_partitioned_by.py +2 -1
  63. sqlmesh/utils/date.py +9 -2
  64. sqlmesh/utils/pandas.py +43 -33
  65. {sqlmesh-0.188.2.dev16.dist-info → sqlmesh-0.188.2.dev18.dist-info}/METADATA +1 -1
  66. {sqlmesh-0.188.2.dev16.dist-info → sqlmesh-0.188.2.dev18.dist-info}/RECORD +72 -72
  67. web/server/api/endpoints/commands.py +2 -1
  68. web/server/utils.py +3 -1
  69. {sqlmesh-0.188.2.dev16.dist-info → sqlmesh-0.188.2.dev18.dist-info}/WHEEL +0 -0
  70. {sqlmesh-0.188.2.dev16.dist-info → sqlmesh-0.188.2.dev18.dist-info}/entry_points.txt +0 -0
  71. {sqlmesh-0.188.2.dev16.dist-info → sqlmesh-0.188.2.dev18.dist-info}/licenses/LICENSE +0 -0
  72. {sqlmesh-0.188.2.dev16.dist-info → sqlmesh-0.188.2.dev18.dist-info}/top_level.txt +0 -0
@@ -2,13 +2,14 @@
2
2
 
3
3
  import json
4
4
 
5
- import pandas as pd
6
5
  from sqlglot import exp
7
6
 
8
7
  from sqlmesh.utils.migration import index_text_type, blob_text_type
9
8
 
10
9
 
11
10
  def migrate(state_sync, **kwargs): # type: ignore
11
+ import pandas as pd
12
+
12
13
  engine_adapter = state_sync.engine_adapter
13
14
  schema = state_sync.schema
14
15
  snapshots_table = "_snapshots"
@@ -2,13 +2,14 @@
2
2
 
3
3
  import json
4
4
 
5
- import pandas as pd
6
5
  from sqlglot import exp
7
6
 
8
7
  from sqlmesh.utils.migration import index_text_type, blob_text_type
9
8
 
10
9
 
11
10
  def migrate(state_sync, **kwargs): # type: ignore
11
+ import pandas as pd
12
+
12
13
  engine_adapter = state_sync.engine_adapter
13
14
  schema = state_sync.schema
14
15
  snapshots_table = "_snapshots"
@@ -2,7 +2,6 @@
2
2
 
3
3
  import typing as t
4
4
  import json
5
- import pandas as pd
6
5
  import zlib
7
6
 
8
7
  from sqlglot import exp
@@ -62,6 +61,8 @@ def _migrate_intervals(
62
61
  used_snapshot_ids: t.Set[t.Tuple[str, str]],
63
62
  snapshot_ids_to_dev_versions: t.Dict[t.Tuple[str, str], str],
64
63
  ) -> None:
64
+ import pandas as pd
65
+
65
66
  index_type = index_text_type(engine_adapter.dialect)
66
67
  intervals_columns_to_types = {
67
68
  "id": exp.DataType.build(index_type),
@@ -148,6 +149,8 @@ def _migrate_snapshots(
148
149
  used_snapshot_ids: t.Set[t.Tuple[str, str]],
149
150
  snapshot_ids_to_dev_versions: t.Dict[t.Tuple[str, str], str],
150
151
  ) -> None:
152
+ import pandas as pd
153
+
151
154
  index_type = index_text_type(engine_adapter.dialect)
152
155
  blob_type = blob_text_type(engine_adapter.dialect)
153
156
  snapshots_columns_to_types = {
@@ -1,13 +1,14 @@
1
1
  """Remove disable restatement from external and embedded models."""
2
2
 
3
3
  import json
4
- import pandas as pd
5
4
 
6
5
  from sqlglot import exp
7
6
  from sqlmesh.utils.migration import index_text_type, blob_text_type
8
7
 
9
8
 
10
9
  def migrate(state_sync, **kwargs): # type: ignore
10
+ import pandas as pd
11
+
11
12
  engine_adapter = state_sync.engine_adapter
12
13
  schema = state_sync.schema
13
14
  snapshots_table = "_snapshots"
@@ -2,7 +2,6 @@
2
2
 
3
3
  import json
4
4
 
5
- import pandas as pd
6
5
  from sqlglot import exp
7
6
 
8
7
  from sqlmesh.utils.migration import index_text_type
@@ -10,6 +9,8 @@ from sqlmesh.utils.migration import blob_text_type
10
9
 
11
10
 
12
11
  def migrate(state_sync, **kwargs): # type: ignore
12
+ import pandas as pd
13
+
13
14
  engine_adapter = state_sync.engine_adapter
14
15
  schema = state_sync.schema
15
16
  snapshots_table = "_snapshots"
@@ -2,7 +2,6 @@
2
2
 
3
3
  import json
4
4
 
5
- import pandas as pd
6
5
  from sqlglot import exp
7
6
 
8
7
  from sqlmesh.utils.migration import index_text_type
@@ -10,6 +9,8 @@ from sqlmesh.utils.migration import blob_text_type
10
9
 
11
10
 
12
11
  def migrate(state_sync, **kwargs): # type: ignore
12
+ import pandas as pd
13
+
13
14
  engine_adapter = state_sync.engine_adapter
14
15
  schema = state_sync.schema
15
16
  snapshots_table = "_snapshots"
sqlmesh/utils/date.py CHANGED
@@ -8,15 +8,15 @@ import warnings
8
8
  from datetime import date, datetime, timedelta, timezone, tzinfo
9
9
 
10
10
  import dateparser
11
- import pandas as pd
12
11
  from dateparser import freshness_date_parser as freshness_date_parser_module
13
12
  from dateparser.freshness_date_parser import freshness_date_parser
14
- from pandas.api.types import is_datetime64_any_dtype # type: ignore
15
13
  from sqlglot import exp
16
14
 
17
15
  from sqlmesh.utils import ttl_cache
18
16
 
19
17
  if t.TYPE_CHECKING:
18
+ import pandas as pd
19
+
20
20
  from sqlglot.dialects.dialect import DialectType
21
21
 
22
22
  UTC = timezone.utc
@@ -323,6 +323,8 @@ def make_inclusive(
323
323
 
324
324
 
325
325
  def make_inclusive_end(end: TimeLike, dialect: t.Optional[DialectType] = "") -> datetime:
326
+ import pandas as pd
327
+
326
328
  exclusive_end = make_exclusive(end)
327
329
  if dialect == "tsql":
328
330
  return to_utc_timestamp(exclusive_end) - pd.Timedelta(1, unit="ns")
@@ -337,6 +339,8 @@ def make_exclusive(time: TimeLike) -> datetime:
337
339
 
338
340
 
339
341
  def to_utc_timestamp(time: datetime) -> pd.Timestamp:
342
+ import pandas as pd
343
+
340
344
  if time.tzinfo is not None:
341
345
  return pd.Timestamp(time).tz_convert("utc")
342
346
  return pd.Timestamp(time, tz="utc")
@@ -420,6 +424,9 @@ def to_time_column(
420
424
  def pandas_timestamp_to_pydatetime(
421
425
  df: pd.DataFrame, columns_to_types: t.Optional[t.Dict[str, exp.DataType]]
422
426
  ) -> pd.DataFrame:
427
+ import pandas as pd
428
+ from pandas.api.types import is_datetime64_any_dtype # type: ignore
429
+
423
430
  for column in df.columns:
424
431
  if is_datetime64_any_dtype(df.dtypes[column]):
425
432
  # We must use `pd.Series` and dtype or pandas will convert it back to pd.Timestamp during assignment
sqlmesh/utils/pandas.py CHANGED
@@ -1,42 +1,50 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import typing as t
4
+ from functools import lru_cache
4
5
 
5
- import numpy as np
6
- import pandas as pd
7
6
  from sqlglot import exp
8
7
 
8
+ if t.TYPE_CHECKING:
9
+ import pandas as pd
9
10
 
10
- PANDAS_TYPE_MAPPINGS = {
11
- np.dtype("int8"): exp.DataType.build("tinyint"),
12
- np.dtype("int16"): exp.DataType.build("smallint"),
13
- np.dtype("int32"): exp.DataType.build("int"),
14
- np.dtype("int64"): exp.DataType.build("bigint"),
15
- np.dtype("float16"): exp.DataType.build("float"),
16
- np.dtype("float32"): exp.DataType.build("float"),
17
- np.dtype("float64"): exp.DataType.build("double"),
18
- np.dtype("O"): exp.DataType.build("text"),
19
- np.dtype("bool"): exp.DataType.build("boolean"),
20
- np.dtype("datetime64"): exp.DataType.build("timestamp"),
21
- np.dtype("datetime64[ns]"): exp.DataType.build("timestamp"),
22
- np.dtype("datetime64[us]"): exp.DataType.build("timestamp"),
23
- pd.Int8Dtype(): exp.DataType.build("tinyint"),
24
- pd.Int16Dtype(): exp.DataType.build("smallint"),
25
- pd.Int32Dtype(): exp.DataType.build("int"),
26
- pd.Int64Dtype(): exp.DataType.build("bigint"),
27
- pd.Float32Dtype(): exp.DataType.build("float"),
28
- pd.Float64Dtype(): exp.DataType.build("double"),
29
- pd.StringDtype(): exp.DataType.build("text"), # type: ignore
30
- pd.BooleanDtype(): exp.DataType.build("boolean"),
31
- }
32
-
33
- try:
34
- import pyarrow # type: ignore # noqa
35
-
36
- # Only add this if pyarrow is installed
37
- PANDAS_TYPE_MAPPINGS[pd.StringDtype("pyarrow")] = exp.DataType.build("text")
38
- except ImportError:
39
- pass
11
+
12
+ @lru_cache()
13
+ def get_pandas_type_mappings() -> t.Dict[t.Any, exp.DataType]:
14
+ import pandas as pd
15
+ import numpy as np
16
+
17
+ mappings = {
18
+ np.dtype("int8"): exp.DataType.build("tinyint"),
19
+ np.dtype("int16"): exp.DataType.build("smallint"),
20
+ np.dtype("int32"): exp.DataType.build("int"),
21
+ np.dtype("int64"): exp.DataType.build("bigint"),
22
+ np.dtype("float16"): exp.DataType.build("float"),
23
+ np.dtype("float32"): exp.DataType.build("float"),
24
+ np.dtype("float64"): exp.DataType.build("double"),
25
+ np.dtype("O"): exp.DataType.build("text"),
26
+ np.dtype("bool"): exp.DataType.build("boolean"),
27
+ np.dtype("datetime64"): exp.DataType.build("timestamp"),
28
+ np.dtype("datetime64[ns]"): exp.DataType.build("timestamp"),
29
+ np.dtype("datetime64[us]"): exp.DataType.build("timestamp"),
30
+ pd.Int8Dtype(): exp.DataType.build("tinyint"),
31
+ pd.Int16Dtype(): exp.DataType.build("smallint"),
32
+ pd.Int32Dtype(): exp.DataType.build("int"),
33
+ pd.Int64Dtype(): exp.DataType.build("bigint"),
34
+ pd.Float32Dtype(): exp.DataType.build("float"),
35
+ pd.Float64Dtype(): exp.DataType.build("double"),
36
+ pd.StringDtype(): exp.DataType.build("text"), # type: ignore
37
+ pd.BooleanDtype(): exp.DataType.build("boolean"),
38
+ }
39
+ try:
40
+ import pyarrow # type: ignore # noqa
41
+
42
+ # Only add this if pyarrow is installed
43
+ mappings[pd.StringDtype("pyarrow")] = exp.DataType.build("text")
44
+ except ImportError:
45
+ pass
46
+
47
+ return mappings
40
48
 
41
49
 
42
50
  def columns_to_types_from_df(df: pd.DataFrame) -> t.Dict[str, exp.DataType]:
@@ -46,13 +54,15 @@ def columns_to_types_from_df(df: pd.DataFrame) -> t.Dict[str, exp.DataType]:
46
54
  def columns_to_types_from_dtypes(
47
55
  dtypes: t.Iterable[t.Tuple[t.Hashable, t.Any]],
48
56
  ) -> t.Dict[str, exp.DataType]:
57
+ import pandas as pd
58
+
49
59
  result = {}
50
60
  for column_name, column_type in dtypes:
51
61
  exp_type: t.Optional[exp.DataType] = None
52
62
  if hasattr(pd, "DatetimeTZDtype") and isinstance(column_type, pd.DatetimeTZDtype):
53
63
  exp_type = exp.DataType.build("timestamptz")
54
64
  else:
55
- exp_type = PANDAS_TYPE_MAPPINGS.get(column_type)
65
+ exp_type = get_pandas_type_mappings().get(column_type)
56
66
  if not exp_type:
57
67
  raise ValueError(f"Unsupported pandas type '{column_type}'")
58
68
  result[str(column_name)] = exp_type
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.188.2.dev16
3
+ Version: 0.188.2.dev18
4
4
  Summary: Next-generation data transformation framework
5
5
  Author-email: "TobikoData Inc." <engineering@tobikodata.com>
6
6
  License: Apache License
@@ -1,5 +1,5 @@
1
1
  sqlmesh/__init__.py,sha256=69xw6bTmi4cW90M-sl3g6wLDgxVcLHcKg1q8GS3lqyA,7466
2
- sqlmesh/_version.py,sha256=6GUaGvlW5Du6s6xIEfW2tcKLw1Yu_uUIQZIQRrRRKh0,530
2
+ sqlmesh/_version.py,sha256=CTTqpprC94ptMyFEwzBwak6J8qVqn_ykls9rrjsBd_g,530
3
3
  sqlmesh/magics.py,sha256=fu7-OeT_0_TAkWZOLoiioE3-3iFpvTRxFCbQUlRnfuw,39944
4
4
  sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -11,11 +11,11 @@ sqlmesh/cli/main.py,sha256=dt92CJPuMzUZvBYqXMh-tkUCaLfj2Z5RC2COa98_9Co,32310
11
11
  sqlmesh/cli/options.py,sha256=aC_L5WnMScKzMU55BD1Y-8R-QzqCkPSYrlCI-payHRA,1333
12
12
  sqlmesh/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  sqlmesh/core/_typing.py,sha256=e1f7xO2aZCy38M_3VoDy-XI3shyd99-IFctgIFSgXWM,497
14
- sqlmesh/core/console.py,sha256=ZAaGLOWBJGBxPzLV7KZZ9akPExgD5m5AboCM8O0Q0nY,150944
14
+ sqlmesh/core/console.py,sha256=VfiiCZeraWIForLqJTkkyVsW0oRDfkctFuFHUpqUIBE,150948
15
15
  sqlmesh/core/constants.py,sha256=oqt6zjepUhQoWlgapKn_HpG7Pu9mrFwepdX5caNfJUI,2499
16
- sqlmesh/core/context.py,sha256=vm2qNa9WpYuRLxBCoMN4stK6XLkDK29niDH9d7I6RVw,117177
16
+ sqlmesh/core/context.py,sha256=GyBO6rU_k0CAMsD1J6FdqwFDctTeDIVl-ZP6Z2zF_5U,116429
17
17
  sqlmesh/core/context_diff.py,sha256=I7luvY2za30E5ynVaFPaEQQEmNViJpWAmW48PGSyDCU,21135
18
- sqlmesh/core/dialect.py,sha256=fPTV517IOS0nWMxYznNNQnXkQkFFrPOSKe8ghsQ0o8A,49759
18
+ sqlmesh/core/dialect.py,sha256=93cXYVuNoZ9CvJNTVn2Yz7WDOdHINwVXflbn0eZ-p14,49764
19
19
  sqlmesh/core/environment.py,sha256=Fsih6WZ7Tx4ec0XIlmIIspUWcmijPNW5uHPRQSWuhA8,12315
20
20
  sqlmesh/core/lineage.py,sha256=zjB0Zfamo2Fja2r5SSZPMbrEKTXr1WjozZPVqvxdybI,3143
21
21
  sqlmesh/core/loader.py,sha256=yGMqZasaOrkwoDnIO1rQyxwFKkZggHL3VQAEeLhKYsM,35994
@@ -29,7 +29,7 @@ sqlmesh/core/schema_diff.py,sha256=Sp2MoqAngp-yTYevkLaf9jb26SuAdGXoZ54g5MjWowU,3
29
29
  sqlmesh/core/schema_loader.py,sha256=lvrI9k7hr1P4X4E6t3U-KrcuvdQuw0UdNlN90P2s52w,3563
30
30
  sqlmesh/core/selector.py,sha256=_hcktUQiKXCPE-mOqXClHUVWBfEZKMPVVNDtpSSRhbI,12660
31
31
  sqlmesh/core/signal.py,sha256=yVLXewYP6eH0vt-EwaIaI2WwHz6hWsVr-Kb2m4kP1FU,1353
32
- sqlmesh/core/table_diff.py,sha256=AbTbmbV5aP-rqa-LT4A1MRnm5K-jmDi2F3N5cz-pFXQ,24838
32
+ sqlmesh/core/table_diff.py,sha256=Bf2rqDuxqU-7Z4T_YhKT2RG7CU7DsGbOTE4aglCLJ74,25335
33
33
  sqlmesh/core/user.py,sha256=EJ6R4R1iK67n80vBoCCsidF56IR7xEYqiCEO-nrVMso,1660
34
34
  sqlmesh/core/analytics/__init__.py,sha256=ou3ZXAJfQOXEifj-PzaXwMDSvJzsVaqaMkUopiI00kM,3247
35
35
  sqlmesh/core/analytics/collector.py,sha256=sggJvER16Jrg5triTC27E2KwaQvfkVDv4D6R1lVPH5I,13058
@@ -57,24 +57,24 @@ sqlmesh/core/config/run.py,sha256=rIK0QnN_vArrwps2TXGVEbvao2AnGZgzXo7EliJa42E,85
57
57
  sqlmesh/core/config/scheduler.py,sha256=k3BVMpy5ZrC05ZlyE3vec8ZGfTjUjWyfsKZtYgflbyA,7029
58
58
  sqlmesh/core/config/ui.py,sha256=jsO-S6_d9NkLZGG5pT4mgKgxMF34KzkDociZAMvCX3U,278
59
59
  sqlmesh/core/engine_adapter/__init__.py,sha256=two_WTs4UnSNp-fscJh8vOunJq0Xi37EuDuMjKsKuNE,2281
60
- sqlmesh/core/engine_adapter/_typing.py,sha256=BAM_U7Vsi0k37XHu_nNnu3whXxuTVDey_uZe3aelKYY,1033
60
+ sqlmesh/core/engine_adapter/_typing.py,sha256=_63pYCThfC39UtPVHY3N0H6qJ1YBT32OqwwR3swolGM,1037
61
61
  sqlmesh/core/engine_adapter/athena.py,sha256=WBVAB_YzBJXdiqq51LTd2jmYoMtGrLmtsA8IrIFVnQ0,26199
62
- sqlmesh/core/engine_adapter/base.py,sha256=WDyZhieFq9iBQSDsLdf-ae6aPu25d-FpwZ4Lt3FPf6o,101153
62
+ sqlmesh/core/engine_adapter/base.py,sha256=2W3dPeO7iqaA3byEDziB3lBh7pjgaq4_J8IKkcX4urg,101348
63
63
  sqlmesh/core/engine_adapter/base_postgres.py,sha256=DOsOdCJyQAVfA9S0GznuH0J1bonMqYVP_yJLDYcxFYM,6772
64
- sqlmesh/core/engine_adapter/bigquery.py,sha256=dc4ve_O5Tu6CKuojt5_edr4kAHUzR_HWIPFpsunat_w,50201
65
- sqlmesh/core/engine_adapter/clickhouse.py,sha256=4ACsYsZ8-gvyCozwoEMEayTTUdMjmNea4xUkxtXw6R4,34907
66
- sqlmesh/core/engine_adapter/databricks.py,sha256=AbNbnt9nQdOd7lTov2zsKROZlzgV2fLvOYXam3cowvk,14507
64
+ sqlmesh/core/engine_adapter/bigquery.py,sha256=lU2zUFuD11qVxrGXX82oUSLMkUZAs-1lWk1XdJFofXo,50234
65
+ sqlmesh/core/engine_adapter/clickhouse.py,sha256=LoPdm_s_s-ZxS1XJPA3Et0iOHeJ1LgqTAFbwBdiqE7A,34912
66
+ sqlmesh/core/engine_adapter/databricks.py,sha256=8ZExPIeT3dDh9MTJW8udvmh9LiY-f9HkRAN1Q5Qebhs,14541
67
67
  sqlmesh/core/engine_adapter/duckdb.py,sha256=FfNmBzLySDDi--nTlsSavTwdperCzhpYzDoroCilPcA,4900
68
68
  sqlmesh/core/engine_adapter/mixins.py,sha256=HMB0Z9O3p5jaTZMolKiWKqpVDZokf5GoI99YXwEJ8bc,22470
69
- sqlmesh/core/engine_adapter/mssql.py,sha256=mkrHpdjow-R-F4R_wU0svLfcCNPOsK9mcalSOU9Cb1c,13797
69
+ sqlmesh/core/engine_adapter/mssql.py,sha256=EZS4hHvYtgtZ0QfO_pxUXZWBgw1iNpjABFHAOPeOYYU,13872
70
70
  sqlmesh/core/engine_adapter/mysql.py,sha256=lVC-siXZK3iSfqCmBjZNw8uy09Z8la8v8_oUZ-E2OwI,6966
71
71
  sqlmesh/core/engine_adapter/postgres.py,sha256=fdQrsBodfGlNf8lZYkS99U_gjoDyaYKEVKLgScduv3I,4601
72
- sqlmesh/core/engine_adapter/redshift.py,sha256=_rZWv4rchDAzB6m6idoV1NLHFBKK_gM4nlfeErqXEcE,16691
72
+ sqlmesh/core/engine_adapter/redshift.py,sha256=B4GsPggz-xyvBpx5qubvVwEeKF3vk7n5SMExL-Q5Ysw,16754
73
73
  sqlmesh/core/engine_adapter/risingwave.py,sha256=YYCQ0EJaSrR9_P1_2_LmElQ6zSxqkZzhvhdm-2WtWWg,969
74
74
  sqlmesh/core/engine_adapter/shared.py,sha256=NyF2osSJDWPp7KlJUBR4GZcS_cJFr4daUPvhGyp4XcQ,12909
75
- sqlmesh/core/engine_adapter/snowflake.py,sha256=gxZWDOY12itwVWF6anqyZI6bXnaK2wY3Uca0qnH5ffk,27142
76
- sqlmesh/core/engine_adapter/spark.py,sha256=nDJXH1su08wv3m9X0Mz-x98xhZblq1BvM3EtRYjZhrI,21012
77
- sqlmesh/core/engine_adapter/trino.py,sha256=pZ2E1owyC6DPmkU3RkibR3CIE1gE-8fNd016YHh52II,14915
75
+ sqlmesh/core/engine_adapter/snowflake.py,sha256=MVDDcKrc3ROyM3dwT7LEDeQWtisJ9zT61z0oyj4v30I,27196
76
+ sqlmesh/core/engine_adapter/spark.py,sha256=sYkVOPS0X43UPbI0z7Hh_EpKlI36qkOcr4NNFOTQlLs,21045
77
+ sqlmesh/core/engine_adapter/trino.py,sha256=w-5WBClYn3lECKITCpi6c-PoYAoaE5ERzt3giDLHQyo,14933
78
78
  sqlmesh/core/linter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
79
  sqlmesh/core/linter/definition.py,sha256=UL05OjFBfoLSYGWXNf4zjZYzIKr-OyFIMIcIh7RhR8s,5237
80
80
  sqlmesh/core/linter/rule.py,sha256=p8rbMbf2Z18ZJ6ZcZyoCk-3Lvo7d_Gvc35tiwWXvuQs,2579
@@ -87,11 +87,11 @@ sqlmesh/core/model/__init__.py,sha256=C8GRZ53xuXEA9hQv3BQS9pNNyd9rZ06R_B96UYGhDu
87
87
  sqlmesh/core/model/cache.py,sha256=csun0RJguHzKX6-qITcOs4fVP4f8_Ts8qiUVV4sHY6Q,7869
88
88
  sqlmesh/core/model/common.py,sha256=vbcXFhWE22-FeKYAVIlKWvTb-wkeC8XISjU_TIlak0c,16252
89
89
  sqlmesh/core/model/decorator.py,sha256=v_sVudNROGrtj5cZ3vgcOFnwPdzwoUGY6REAkQpIMQc,8927
90
- sqlmesh/core/model/definition.py,sha256=5OXQTAfDe3e5ZYTgX3ziHE-ZHfdZvr_JBFNIpWx_agE,108444
90
+ sqlmesh/core/model/definition.py,sha256=3UG3s1Vbj5VTSiC7sIsbF07JJWJZLGiEebXQta1n82s,108461
91
91
  sqlmesh/core/model/kind.py,sha256=i6_AMBarXPGPoMdF9kzBkyqS9tu__a2339-BoX7TgCM,36010
92
92
  sqlmesh/core/model/meta.py,sha256=osJgfSj6maIIdWAHzDVCkXXL--__gnKvqkzxM6Nuq6g,20779
93
93
  sqlmesh/core/model/schema.py,sha256=OClbAeA8LpW-IiSiLT_TlDWkEqmIIvSk0GXq8SWI-GQ,3443
94
- sqlmesh/core/model/seed.py,sha256=ctUHH6CmeEnBVJyIAZznx0xJBm09W7VIZ-76Cfwfq28,5004
94
+ sqlmesh/core/model/seed.py,sha256=a0M-1zY1gOkN5ph2GQyataEdBSCtq50YjeFk2LyvInI,5058
95
95
  sqlmesh/core/plan/__init__.py,sha256=ctpnu9mK3uTujs0It8qRMqcj9GdObXDnvSgn4rD2zqc,450
96
96
  sqlmesh/core/plan/builder.py,sha256=WM-jnBgViLSfnL2-nUdZH9dCkD6TkYUnRuO9TgD8DsQ,38329
97
97
  sqlmesh/core/plan/definition.py,sha256=SI3zi2poPkKJKTZogYv60Q7eIOhksaAcFUcu-J2-XqI,13218
@@ -100,28 +100,28 @@ sqlmesh/core/snapshot/__init__.py,sha256=Z5HTetNCZGoKF1WAKXk4LWL9dc8EC8lwS2O4Tto
100
100
  sqlmesh/core/snapshot/cache.py,sha256=bgqCR2hyf6r2A_8QP1EnXFK25gDX37-Zg0YeMuETWxg,3934
101
101
  sqlmesh/core/snapshot/categorizer.py,sha256=qGG5870mu1jR2whKisSBH_GFbsyh96RnzJDgkN7DV9g,2482
102
102
  sqlmesh/core/snapshot/definition.py,sha256=PKzBLiQ1yIycGbmslEoQyJEwtfnJHsQuY_sl1xkBcvk,84081
103
- sqlmesh/core/snapshot/evaluator.py,sha256=Y01dkakdX-Jvz3t8DAzJPLVt3eL2DRqz7SabgZ7ME7g,89430
103
+ sqlmesh/core/snapshot/evaluator.py,sha256=QqFcvXcr3NMHJtWy2wBRfDIph9EKPGpHaPg-36YjbDs,89484
104
104
  sqlmesh/core/state_sync/__init__.py,sha256=B60xj-_Xk-4jas3UphLvwkuf04G-9AyGckcblXE0aRg,869
105
105
  sqlmesh/core/state_sync/base.py,sha256=GaSyUg2TgDZFZrlLP5QF0Wjwl47KuIj1D3NSZSjL12c,18346
106
106
  sqlmesh/core/state_sync/cache.py,sha256=0AsYdQyBqbLdJvkBQ-hDAipsvnn_jSps-nya-Q4XeL0,5337
107
107
  sqlmesh/core/state_sync/common.py,sha256=THK-6AGHFBAuLXydD8QhzmzCdyl0BMrz2rB2xpmC99Y,6532
108
108
  sqlmesh/core/state_sync/export_import.py,sha256=WJ7sFX2b_RPAFE4yspJRi_4JQnaO23xpJgRxwXD0agA,8709
109
109
  sqlmesh/core/state_sync/db/__init__.py,sha256=jGCqKYB7npq4eh6H2LyfBAJWdOP-IFu0DC4CMiQgYvw,107
110
- sqlmesh/core/state_sync/db/environment.py,sha256=EVx7YWS7XEHcCjXGNZqm5Mvax3WeYcjTswWErCxrgy8,13570
110
+ sqlmesh/core/state_sync/db/environment.py,sha256=RKaP71CDI7YFhLYuyYVbtyBEWfwvNd2_XsDvjtrQq2Q,13645
111
111
  sqlmesh/core/state_sync/db/facade.py,sha256=GOrcJSWeFxLbqf2fuGGLewYCoRhDoXBoLA4AsJ5MixI,25558
112
- sqlmesh/core/state_sync/db/interval.py,sha256=QgdqoVyLYw15SnX8O6icHUF3ZHnI6a9rX0505-FgFNg,17964
112
+ sqlmesh/core/state_sync/db/interval.py,sha256=qDo5qX7vulibbg9M8mDA0PjoQQJlUCouBJeWuTuLJ6Y,18043
113
113
  sqlmesh/core/state_sync/db/migrator.py,sha256=2LNUwOBNFkA1ntp-Z93S_OWxFQhOBj3ZD_ZqPCyPEAE,18139
114
- sqlmesh/core/state_sync/db/snapshot.py,sha256=vU96XSRtTwCM21jch-KubGK3HfdOK78aZ9sqROQxL6s,29425
114
+ sqlmesh/core/state_sync/db/snapshot.py,sha256=7ccdRxni4UGAul-_15z6-I9GAifC94jfNTvAdUEQ9pw,29480
115
115
  sqlmesh/core/state_sync/db/utils.py,sha256=204OpT3ISFPCwWP9Aqq8nr6ETl24sbG5uOyo86IJv6E,3819
116
- sqlmesh/core/state_sync/db/version.py,sha256=CZN2o1jxfsPxTGouncQIT51q61ObZKCuQdvWUWyTrI0,2201
116
+ sqlmesh/core/state_sync/db/version.py,sha256=fl5g1tNMYu8O6WTN4J3bciwjGq0c5nZlRDlxxRKGU78,2210
117
117
  sqlmesh/core/test/__init__.py,sha256=e83TJPwPRR_rAG29Y0OVbZb-5oWVBzz-_wrcd22Qk10,418
118
118
  sqlmesh/core/test/context.py,sha256=Shmft5gRWCsk8Hropfmd4otWkLmw43r_uzrr6Azu5Ns,2220
119
- sqlmesh/core/test/definition.py,sha256=1JPI-JLBbXa_it_DaUlzZESLy98Zadabu5PtBo-ZWGI,37205
119
+ sqlmesh/core/test/definition.py,sha256=0TRUom3yfH6VcXWdYqgD_RJGWlI99E8MiS6-41FKXJg,37363
120
120
  sqlmesh/core/test/discovery.py,sha256=WXIwPidLoacAGHoT_3TVFFEKamG89nHNtaMsZ01uGjs,1188
121
121
  sqlmesh/core/test/result.py,sha256=CR8c_tdBK7p8jx-dMibbj4zCtxVAmE_Xah9GQ5oPBTE,4218
122
122
  sqlmesh/core/test/runner.py,sha256=yno0GDUW9angCy2ZeLIZE9lKrqBiJOnFibu6RLuct6I,6647
123
123
  sqlmesh/dbt/__init__.py,sha256=KUv-lW5sG9D2ceXAIzA4MLcjyhzq3E-7qJP4P_PH2EU,144
124
- sqlmesh/dbt/adapter.py,sha256=NAY8E7R9S-DsKn3LnPUvZvQNONRE7hthmuBs1a5ao64,16761
124
+ sqlmesh/dbt/adapter.py,sha256=p9AW-R8olwobybTffdLba0V5V5AD-Pc8Gxq6rtWMaQk,16793
125
125
  sqlmesh/dbt/basemodel.py,sha256=XuiK9-r5JWzvZGEk98Jt4ukR2exfMDsotGZqYx5xluc,12561
126
126
  sqlmesh/dbt/builtin.py,sha256=Z1fmEkF5gVS1LMpuOOlZGwzdslcYNgW38-_b_n3KUfM,15156
127
127
  sqlmesh/dbt/column.py,sha256=Kvj_N3D_QegcoNQG7VqRiqy-FRfupud-6ilhlykBOgE,1873
@@ -138,7 +138,7 @@ sqlmesh/dbt/seed.py,sha256=E7pFhtGwRrC9U_VZJNABwLTa-Nk4OeD-gOtjSpvYmDA,4251
138
138
  sqlmesh/dbt/source.py,sha256=IZK-aOV-KdWIOPuXqRjJZAZ7phW1HUXoHtE-3clgkx4,4125
139
139
  sqlmesh/dbt/target.py,sha256=vPxOFAWbtFpvdUit5qaFOLEQ7IKOoOvIzr2nxzs5DUE,40535
140
140
  sqlmesh/dbt/test.py,sha256=aOTKqYpVafff-TU4Xhbc9eZr6QAuFLMxIu_sV-18JLQ,8282
141
- sqlmesh/dbt/util.py,sha256=0HjMx86XOQGKR5gh84JtIjafxUbLGdpltwxvbtK86p0,844
141
+ sqlmesh/dbt/util.py,sha256=BdtfQ7sxnZ8y8CFJStkePpmRE-KntHCXTefRnXR5Pag,905
142
142
  sqlmesh/engines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
143
  sqlmesh/engines/commands.py,sha256=Fjy_seH1JL2EZxFNJBr0-eIaOn5PNY-JEb0nBbcr6Go,6094
144
144
  sqlmesh/engines/spark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -170,81 +170,81 @@ sqlmesh/migrations/v0003_move_batch_size.py,sha256=8kCFAG6jGMuQclO9X__0rMHjKBV9W
170
170
  sqlmesh/migrations/v0004_environmnent_add_finalized_at.py,sha256=gbMPaWVnHyF-VBy0S7cP_CZNISIu4fX-5dKR3Qa7tkc,640
171
171
  sqlmesh/migrations/v0005_create_seed_table.py,sha256=Pg0QjFLN59RCi2Cnbul8lAzsi8lDzSLVhi8POQMtQ0g,703
172
172
  sqlmesh/migrations/v0006_change_seed_hash.py,sha256=ONCcvlfJ5cCAKPrdpm6_twzX15Jd1Yjm9uhKfkMSkmY,129
173
- sqlmesh/migrations/v0007_env_table_info_to_kind.py,sha256=Qvy12J6s6b-UVGVkDcEHtTsMDZI1f6rQUYbzAf54Q1Q,3200
173
+ sqlmesh/migrations/v0007_env_table_info_to_kind.py,sha256=mepXLx8ic4Nl4I8U2oUCSVnEvp8lPzoolFzxJGak8og,3205
174
174
  sqlmesh/migrations/v0008_create_intervals_table.py,sha256=6mjwQTf4KrLXhMVkfeDzfM6crV2XHWaRkunz_unwOus,1334
175
- sqlmesh/migrations/v0009_remove_pre_post_hooks.py,sha256=BNGkZcIhvDgXgzftMNv5vHLOGoYHVkzLKD4XKl8GcV0,2039
175
+ sqlmesh/migrations/v0009_remove_pre_post_hooks.py,sha256=-3RZjoaszhobOMO0JoCq-XmzNA0B11kwJLAMwXn2D1Y,2044
176
176
  sqlmesh/migrations/v0010_seed_hash_batch_size.py,sha256=JJZdZPSdFbCDSAnATOBqZWW9LMcOZwvl8gWqtjephpc,127
177
- sqlmesh/migrations/v0011_add_model_kind_name.py,sha256=yMXgtrYFYlRH_aTtpLXNpWuHX5-GXxXVTmI6KUl_so4,1881
178
- sqlmesh/migrations/v0012_update_jinja_expressions.py,sha256=Ix-zr2kesDmaFtCKH5XOurDsoF7VZuN0maGUPnl44EA,2620
179
- sqlmesh/migrations/v0013_serde_using_model_dialects.py,sha256=ShHeJVn_eADkYSCrZ-i_1rl056IaOOWfI5SNkNR34eU,2840
177
+ sqlmesh/migrations/v0011_add_model_kind_name.py,sha256=MXfQg9QaRqfwrFWz3SfRYkwDfkJ_qbj2dJxbEr3Z0nk,1886
178
+ sqlmesh/migrations/v0012_update_jinja_expressions.py,sha256=oAYaDV9nFbBdcZd8uI0PHhKRDy3LABAD7dgP7QejGy4,2625
179
+ sqlmesh/migrations/v0013_serde_using_model_dialects.py,sha256=xpb4V0GoXytGKpfNhG4AgDAJn3MJrfMnFe0j6Uo8Elk,2845
180
180
  sqlmesh/migrations/v0014_fix_dev_intervals.py,sha256=U1k0nNpa77PMBw_NPfwAh3Pg63HvWqfoXwz48g3QF3Y,385
181
181
  sqlmesh/migrations/v0015_environment_add_promoted_snapshot_ids.py,sha256=OHAb_h2tn48HDt4grRvC19UqLCXiAlXpePhvYm6TQLM,769
182
- sqlmesh/migrations/v0016_fix_windows_path.py,sha256=VCcbW-Q2fsk69SwltJJAwF6KFnyLxOJTVyXWAxFlT0U,1885
183
- sqlmesh/migrations/v0017_fix_windows_seed_path.py,sha256=tu-3urYZ08vNWb9yX9SGjU-MtXe-F1YM0xG1bd8MIqs,1743
184
- sqlmesh/migrations/v0018_rename_snapshot_model_to_node.py,sha256=6wkHob500z32DCgYM83xcuPK038Lbxsj0Fw6rDPTZQc,1630
182
+ sqlmesh/migrations/v0016_fix_windows_path.py,sha256=Df3QD3oAwQSOgDlhRCEpaRckoE9nQ9FWae4Y_zEFTU8,1890
183
+ sqlmesh/migrations/v0017_fix_windows_seed_path.py,sha256=OvvILZ-olv9sSNNamX5AzQNk5ptla0dIsCg9EjH0b14,1748
184
+ sqlmesh/migrations/v0018_rename_snapshot_model_to_node.py,sha256=ZOaMuexbMeaqE_OuqBBdD5JpXMp897c11VdW-p1jKsw,1635
185
185
  sqlmesh/migrations/v0019_add_env_suffix_target.py,sha256=2WOeqP1Rm4I_1gawYLZuVl516CMgJiPwUUOzFIDxoyU,776
186
- sqlmesh/migrations/v0020_remove_redundant_attributes_from_dbt_models.py,sha256=46IpFyoP5XTW3OXhNWxshmEWZPcsEYJBkXXmREA3j3E,2261
187
- sqlmesh/migrations/v0021_fix_table_properties.py,sha256=p3PYeTMWDazuoCqNOwZFXa5vFtWqb-_avftcU2I_jdQ,2124
188
- sqlmesh/migrations/v0022_move_project_to_model.py,sha256=vjg0I9El9fQs34u7QBq0jbR0kpPLbIBispuGty2_KRY,1642
186
+ sqlmesh/migrations/v0020_remove_redundant_attributes_from_dbt_models.py,sha256=RRcH-M6aitw3Co-03of4uhQ5M3ajwCoF-iuVvz4SV_k,2266
187
+ sqlmesh/migrations/v0021_fix_table_properties.py,sha256=X4bCkEwcgUdmJqPcAicP5coGgWqItLdOruFJ7E1womg,2129
188
+ sqlmesh/migrations/v0022_move_project_to_model.py,sha256=Wj6fM22gQ5hzQXxLTOjgynyV-uwPFR1Kr7k2RmXMNnM,1647
189
189
  sqlmesh/migrations/v0023_fix_added_models_with_forward_only_parents.py,sha256=TuC2l3bf212BuHRaJjaKilOZdA9rn65f4LPIFO6MRFQ,2424
190
- sqlmesh/migrations/v0024_replace_model_kind_name_enum_with_value.py,sha256=OQZj31loishXBCC7279_GLgPQtfmh4JHoO29s6mtlZo,1727
191
- sqlmesh/migrations/v0025_fix_intervals_and_missing_change_category.py,sha256=xCUqFoxQuOGD43bnIu6lMEHH4SnVNaX0zS8yKTBxRK4,4153
192
- sqlmesh/migrations/v0026_remove_dialect_from_seed.py,sha256=cdVbHL2baUSgB8nvV-72Pdn4qdqFsgKkyPFz9vvv8EE,1666
193
- sqlmesh/migrations/v0027_minute_interval_to_five.py,sha256=9uwy5J9PN4CXwcQhg-WfiKomp7GVYxig3REg4oko2S0,1719
190
+ sqlmesh/migrations/v0024_replace_model_kind_name_enum_with_value.py,sha256=Q5DdlxgKS0dcqRSRCm2c6Xl9tQjn_fVg7TOrOursUtg,1732
191
+ sqlmesh/migrations/v0025_fix_intervals_and_missing_change_category.py,sha256=tVHkpXSgQSM9M68-h6tbMMBhIHqrf6flPX-4T8n7q98,4158
192
+ sqlmesh/migrations/v0026_remove_dialect_from_seed.py,sha256=Ew-ivGrI8ogYJfUYT3-DsUB3ZfLmVfavLA9kVz7_3L0,1671
193
+ sqlmesh/migrations/v0027_minute_interval_to_five.py,sha256=XV0yVhDXkSCzhPDBVp18Gb3nxxsgOxLq2Lg198M7Vfk,1724
194
194
  sqlmesh/migrations/v0028_add_plan_dags_table.py,sha256=gGjSardt2XSgxYP5VoWOzUJL7crU4kKKwuLjXk6g07o,846
195
- sqlmesh/migrations/v0029_generate_schema_types_using_dialect.py,sha256=QLy4jfGBcSASmEQhN4-9TgTp1MjxMCz4V65pYkx1qgc,2129
196
- sqlmesh/migrations/v0030_update_unrestorable_snapshots.py,sha256=5NbS1OmT4uAPGfa3sBD5VnQ18IU-7gU5aZMPtmfCOZw,2231
197
- sqlmesh/migrations/v0031_remove_dbt_target_fields.py,sha256=uLCitw0tsyYvoNXTE_HSLDiJI3axFK7ZivJjwUJaQ4w,2439
195
+ sqlmesh/migrations/v0029_generate_schema_types_using_dialect.py,sha256=8zzTepRZ-AHuXL78TWqalN1y3dGeKt9KuSdSKH5WFrE,2134
196
+ sqlmesh/migrations/v0030_update_unrestorable_snapshots.py,sha256=BbWTHhmWJ4iK3IV3OwfxYF9_uaUm2NejIO-ztIoLWL0,2236
197
+ sqlmesh/migrations/v0031_remove_dbt_target_fields.py,sha256=AVkLM77Z57GB9C70oSWkt3rtViG9GEYkg2bGlCWAJiU,2444
198
198
  sqlmesh/migrations/v0032_add_sqlmesh_version.py,sha256=4jojN6X06HyDJyMqjHK1xAXqppnRHj7lnZj-_dkapmE,753
199
199
  sqlmesh/migrations/v0033_mysql_fix_blob_text_type.py,sha256=5HpwRRHlma9MMZOoQgBZNeFZIBCDOO5zaB5PJt86aOI,1348
200
- sqlmesh/migrations/v0034_add_default_catalog.py,sha256=afBLSzC98-alAUmuUIJxXqNz7yoAa9L34NkqgvSpCIk,13470
200
+ sqlmesh/migrations/v0034_add_default_catalog.py,sha256=oxTLbC_o3HtYdeB_H--hYAvpi5MpGRImmAxkP7UuikE,13475
201
201
  sqlmesh/migrations/v0035_add_catalog_name_override.py,sha256=pLVqow57ZII3E5JyQf5PPmuB6G_n0EENi1ZHemP-kLc,655
202
202
  sqlmesh/migrations/v0036_delete_plan_dags_bug_fix.py,sha256=heRoCaYQ4ZjuuB2K15k3VCCNeSD8aGoCpSEUiuvw3Qs,566
203
- sqlmesh/migrations/v0037_remove_dbt_is_incremental_macro.py,sha256=lfl7ifSveOii6NyCBKOsLgYO6J3-i9fTtbaW6CfhlqQ,1997
204
- sqlmesh/migrations/v0038_add_expiration_ts_to_snapshot.py,sha256=bqdj5PYxwwE_NpIGXiQQGpoHgKttFqY4kZZW7_D234I,2328
205
- sqlmesh/migrations/v0039_include_environment_in_plan_dag_spec.py,sha256=BR-3JiufqnEpVyj-BQzh68bbTIIg4oDw5D7pTqiVKEc,2211
203
+ sqlmesh/migrations/v0037_remove_dbt_is_incremental_macro.py,sha256=mcSG5MmbSd4b30bSepnZVOJHWu2oxQtFHlzCCXkd_Nk,2002
204
+ sqlmesh/migrations/v0038_add_expiration_ts_to_snapshot.py,sha256=jg8_bIiJEQzPQGl8dArwffYk4Np38p5mXm9NWg9Nomw,2333
205
+ sqlmesh/migrations/v0039_include_environment_in_plan_dag_spec.py,sha256=5IsLj9dOWqwfSr2YfzdGfoaX8L1JyXtOUguJuI_oeWI,2216
206
206
  sqlmesh/migrations/v0040_add_previous_finalized_snapshots.py,sha256=kJxTrSUIQYP-ZRlWM1TNM6oUELaw85U5VVYgFMw64dQ,780
207
- sqlmesh/migrations/v0041_remove_hash_raw_query_attribute.py,sha256=xHzKkU6x7KwwolYBra3tXQMNmgPeW4CyFD9_IQZFYMg,1912
208
- sqlmesh/migrations/v0042_trim_indirect_versions.py,sha256=Vrwbwxl5U8pef9xLrpX7zKgzbLKMxb7UxcIP1O4n0Nk,2345
209
- sqlmesh/migrations/v0043_fix_remove_obsolete_attributes_in_plan_dags.py,sha256=F97TxY88id5odTpcWAEn5vaD6MSFB_NDECaFsr5r7pw,2109
207
+ sqlmesh/migrations/v0041_remove_hash_raw_query_attribute.py,sha256=P8rorBd6QCmXN2OhDyZpT81CWiwgAxUVLCpFg91iAyE,1917
208
+ sqlmesh/migrations/v0042_trim_indirect_versions.py,sha256=WkdwmYNvvnUxdHbAjFsLW_4b8dX2Di1c4CKyZazzXXI,2350
209
+ sqlmesh/migrations/v0043_fix_remove_obsolete_attributes_in_plan_dags.py,sha256=Gzn04Ba_9N5gaMrKHOwSEUsJMeDCxNTTp3CaE4NAepQ,2114
210
210
  sqlmesh/migrations/v0044_quote_identifiers_in_model_attributes.py,sha256=EkCyGR-QGzHnn_8WL9-aOPjPFJ1tqIEJv3YvaYr9v5A,112
211
- sqlmesh/migrations/v0045_move_gateway_variable.py,sha256=BvIf75xJPGSTGSRIBtp29GAUXOZa0TEL1X1WSiB8dYU,2348
211
+ sqlmesh/migrations/v0045_move_gateway_variable.py,sha256=C5WX-vp0DTlKTAA9mtpQbDIsr_tE93XXZCBYtQY9atk,2353
212
212
  sqlmesh/migrations/v0046_add_batch_concurrency.py,sha256=2pUv9MXIKGhGiFe09Qnv8eyNgxFaF5k5mgqiP2qku0E,185
213
213
  sqlmesh/migrations/v0047_change_scd_string_to_column.py,sha256=aLKOl0CYonFRYaFQd-6m3phlPAx6bfx3q9sVnKvcpgs,124
214
- sqlmesh/migrations/v0048_drop_indirect_versions.py,sha256=Af1Wu1t2Ks-2fO2im_fifqe_eQTwJqVWFq_M1PcPu20,1911
214
+ sqlmesh/migrations/v0048_drop_indirect_versions.py,sha256=yxMQid2EsoUEY8MX0wIW4pbDY_-avRLF8LlzcS774UM,1916
215
215
  sqlmesh/migrations/v0049_replace_identifier_with_version_in_seeds_table.py,sha256=Xgvi--4fV_ugIm7vD7kA00Z_VRdo69en8qes8BN1vaA,1948
216
216
  sqlmesh/migrations/v0050_drop_seeds_table.py,sha256=WURRZdw7EgdMpV2TMkGlESU6hoPShp0ioQUilaKnkvA,285
217
- sqlmesh/migrations/v0051_rename_column_descriptions.py,sha256=VNV-T8Ifx7wmxnH3R73YnQ2bGarw48AFh-M3EUkHuG8,2185
217
+ sqlmesh/migrations/v0051_rename_column_descriptions.py,sha256=kQj66QjJJIOCp-t0OotM-bubZj0yzXBgYwOlPNT-D2w,2190
218
218
  sqlmesh/migrations/v0052_add_normalize_name_in_environment_naming_info.py,sha256=5VnbMPQh1vP5BXgP_5Z24keKZDswAiSuYGu2TLDhvTQ,809
219
219
  sqlmesh/migrations/v0053_custom_model_kind_extra_attributes.py,sha256=eSdgFA55cKkIHrU_1iM36f1GYvapeSbPl7Ti0WPjSf0,148
220
220
  sqlmesh/migrations/v0054_fix_trailing_comments.py,sha256=jsGpbvPtvEv3DVfiZXCm3nTneRF31pQ6HbZ49BBx6Bc,128
221
- sqlmesh/migrations/v0055_add_updated_ts_unpaused_ts_ttl_ms_unrestorable_to_snapshot.py,sha256=5nT2FYmAslijsH9JVaGpHqk7nTyzOvrbUV9uwk1DM1I,4633
221
+ sqlmesh/migrations/v0055_add_updated_ts_unpaused_ts_ttl_ms_unrestorable_to_snapshot.py,sha256=isS7gEKZ2s3bVAK4OJUx-wiuQlI0pWnYGhPzHZS-K10,4638
222
222
  sqlmesh/migrations/v0056_restore_table_indexes.py,sha256=s41V3f95UvpAPKzPibsBCBkC9FU4bbP8CwdwKCn-BZo,4720
223
223
  sqlmesh/migrations/v0057_add_table_format.py,sha256=bQ-fsyRB8glipAJJDHzrzK_Kk0uQmpLZSLAO7fH5Zb4,119
224
224
  sqlmesh/migrations/v0058_add_requirements.py,sha256=Zot4V5XN8xkniKRvkh57tdDBX3q8mXhVmeZZoSfX0aE,745
225
225
  sqlmesh/migrations/v0059_add_physical_version.py,sha256=ZTR5hLF-N38Ernr_J_zYwdg5NAc7lSAEbsEzolauxvs,110
226
- sqlmesh/migrations/v0060_move_audits_to_model.py,sha256=-1_KRdTCQ9bwIuhpFXOpcU25F2t-alJvS_NPNOxKbOU,2535
226
+ sqlmesh/migrations/v0060_move_audits_to_model.py,sha256=WdND1n_5gBL9qMPbMcbmO2zjV5NhGNTDKfISiqP951w,2540
227
227
  sqlmesh/migrations/v0061_mysql_fix_blob_text_type.py,sha256=c0TWc5HxJu2tueov61GKEFo6QIo0f6AREJE9EjzFN10,1499
228
228
  sqlmesh/migrations/v0062_add_model_gateway.py,sha256=sOQH6ZtQWzcS1UGIs9Tu0a9vanr1q7I3971-NihgWac,101
229
- sqlmesh/migrations/v0063_change_signals.py,sha256=PSwtRInm4QTaxwrTJ2Y27ff1NqBJicXQSob0gf21qLY,2948
230
- sqlmesh/migrations/v0064_join_when_matched_strings.py,sha256=kEPevADQVToZWkdJjLmws2dpbNx2fg2eZv4hsHe8ExM,2582
229
+ sqlmesh/migrations/v0063_change_signals.py,sha256=sYTVijSWbnxguc3o3E9GustWyYvx4ke9ZQ6nKcXv4kk,2953
230
+ sqlmesh/migrations/v0064_join_when_matched_strings.py,sha256=Qn1bp1zikwzTEbHshj4V_4ZJwPMLprWQo7s4O3BBmNw,2587
231
231
  sqlmesh/migrations/v0065_add_model_optimize.py,sha256=XMiuTdgEMHFFYfcFQZ2PaxlbZF9xoQzWCu0wm1cx5Cs,108
232
232
  sqlmesh/migrations/v0066_add_auto_restatements.py,sha256=ChTQCV-sscfk-FYCh1UoQsKaItfeUn9vGSEYTqXD_4Q,1358
233
233
  sqlmesh/migrations/v0067_add_tsql_date_full_precision.py,sha256=l6Yl_GM2oYeSl3KL_mU_q-K4xge2tcdJP53Abrmc6nU,120
234
234
  sqlmesh/migrations/v0068_include_unrendered_query_in_metadata_hash.py,sha256=X7iR4KDv8U3PgSy4F7zjAbuylJcb3TOCG6GTWfsBEeo,119
235
- sqlmesh/migrations/v0069_update_dev_table_suffix.py,sha256=BDQG1DlDfzDqdgGTZXmew59Xj9ubvg2XBmDsIep-mW4,5696
235
+ sqlmesh/migrations/v0069_update_dev_table_suffix.py,sha256=cgsA6P632ibb7XMZ03cmE6c_D76FmezAySra9swjrMA,5701
236
236
  sqlmesh/migrations/v0070_include_grains_in_metadata_hash.py,sha256=jfydWI5WpUuRBHMBakXXnSVPQydBXUdyyEm4ERXpgKM,105
237
- sqlmesh/migrations/v0071_add_dev_version_to_intervals.py,sha256=sSDa3EKnj-I2XxMrTkKDpP-CUs2kBjmJQHApMUrnzFc,8205
237
+ sqlmesh/migrations/v0071_add_dev_version_to_intervals.py,sha256=pP6GgiZtmQJ569yenYnsNJixEwJJNDVPnCOV9SPruCI,8235
238
238
  sqlmesh/migrations/v0072_add_environment_statements.py,sha256=jgE-rS8nyIgXyFrrHUSnWgbNBsw3IVw0iRLAG15mNcg,873
239
- sqlmesh/migrations/v0073_remove_symbolic_disable_restatement.py,sha256=qvut9anKFg2lsdFTUxfKex_u4s1cr3eCvS_hZpc_HRU,2302
239
+ sqlmesh/migrations/v0073_remove_symbolic_disable_restatement.py,sha256=1pVQ9yAb1vxxTK1WKonCdWFrFPMGgCJmL_oCmtF7wmc,2307
240
240
  sqlmesh/migrations/v0074_add_partition_by_time_column_property.py,sha256=z_P-5xNCP6TgreWeLpBD8h592KxphOpcGqwNr8NOP5o,196
241
- sqlmesh/migrations/v0075_remove_validate_query.py,sha256=EKaHIHlqYx5T0j4n9gkrsbWqdVCm9JjiodsUJMlXFDk,2451
241
+ sqlmesh/migrations/v0075_remove_validate_query.py,sha256=TJcqeNnG3uNaW5l_Ryc5XEqYGOz6LKn2jtPs3jZDiP8,2456
242
242
  sqlmesh/migrations/v0076_add_cron_tz.py,sha256=jytcJujOgn1MzSjam-MFlv4YhkTTJ-RiYVLRRCjJT90,111
243
243
  sqlmesh/migrations/v0077_fix_column_type_hash_calculation.py,sha256=fadQNbP4xvCH8zQlgrRPceLSO-Q-WblX7tHS5OlgITI,140
244
244
  sqlmesh/migrations/v0078_warn_if_non_migratable_python_env.py,sha256=U9N0Z3uW1QoWkJlYVOPiEgdhUIzr-MUgeOJ7D3iBAMM,5198
245
245
  sqlmesh/migrations/v0079_add_gateway_managed_property.py,sha256=k9RHZzPIbuckyHdvfeDrF1ZdrAoFVUVbLdfAMGZNCCE,879
246
246
  sqlmesh/migrations/v0080_add_batch_size_to_scd_type_2_models.py,sha256=JvZ0xGEtdDOTAQLcZGq5VW55XAyHlzCR0RP6J-8pfbc,170
247
- sqlmesh/migrations/v0081_update_partitioned_by.py,sha256=Dvus_xfKUHI3xntAWU55_cTwXFJEbvrh06jzwa5u9mU,2891
247
+ sqlmesh/migrations/v0081_update_partitioned_by.py,sha256=Rj9RDd7WBonbGfTJx3vAqSvq17F4pbGAhcrH6EtShmA,2896
248
248
  sqlmesh/migrations/v0082_warn_if_incorrectly_duplicated_statements.py,sha256=K-Z0ghTCFSZuAYzNSUXF4L8axihPemM15EOXHcqkK3s,2489
249
249
  sqlmesh/migrations/v0083_use_sql_for_scd_time_data_type_data_hash.py,sha256=0r-SlncPec4TBpnQTeblPsiIjIOVKc10GjBVbFPGcFA,148
250
250
  sqlmesh/schedulers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -257,20 +257,20 @@ sqlmesh/utils/connection_pool.py,sha256=To1zr9d5MQOZ5im09jLQKO4DFmfzH6s_q75cEa1y
257
257
  sqlmesh/utils/conversions.py,sha256=Ul8u6TzlKzFz_lVrUzFSzmJBKHUXOYe2e-xmkMXV084,406
258
258
  sqlmesh/utils/cron.py,sha256=mHjXgrsD10Nq-XyRW3OK7eC5Y3KvDc-DitTQyji6Hjg,1828
259
259
  sqlmesh/utils/dag.py,sha256=L_jwKf81wCySmt1TFs4vEKsrIHSOPTBhptlmv1bsSSg,7025
260
- sqlmesh/utils/date.py,sha256=ndHL2ye5thgESMfVB2CcTFKeQZJV03miQE1uIe6YxXE,15334
260
+ sqlmesh/utils/date.py,sha256=7gdCCms1TQktbO4ZwwL-Jt8F2tmSwKsp480pHRJ1uR4,15418
261
261
  sqlmesh/utils/errors.py,sha256=HtpLcs1IN0aq65G372flV9kqqJUULLC3Ci7wvgoBANk,5392
262
262
  sqlmesh/utils/git.py,sha256=v1MD4Zwn52UBn_tTfoKn8SAPJVGC6SEFrJ4WEJFbgF0,1868
263
263
  sqlmesh/utils/hashing.py,sha256=4Bi0NvRctBHzg58btNxXwSNgcvj8doIVVvOjJ40mHBg,512
264
264
  sqlmesh/utils/jinja.py,sha256=6Iob2Pv88L2rCaHyl_V90b5GKsG9hI10Ua_FRWhQIl0,23628
265
265
  sqlmesh/utils/metaprogramming.py,sha256=ebN5p4Boi9VmsoNVsoUIaW3obgsrtZ6Gt1FlgbA-9xM,23126
266
266
  sqlmesh/utils/migration.py,sha256=R7Ck6FX-LfcujGy7sgS0kDWlK-xAEBODr3gqIQ8gC08,835
267
- sqlmesh/utils/pandas.py,sha256=uKI-ygEtMcGDRzXdBu0RkGmMBkYxwu5O2Wabho841Ls,2196
267
+ sqlmesh/utils/pandas.py,sha256=FytTSLcRNtO0-YMvpoDBkkut3yoQJR9mBSKpif8lxug,2497
268
268
  sqlmesh/utils/process.py,sha256=vpXcpJ1eIbivs7gZdwTKSJI7OS6kKBebnaBzz75ykvs,2428
269
269
  sqlmesh/utils/pydantic.py,sha256=I898jAFqa3qU6lG2uPpRebVFncOUo8ZrLWM_R3K3DHU,11685
270
270
  sqlmesh/utils/rich.py,sha256=xNZyPCqEc4TAlJlsEthg-5eYUWpaizz0QjBzO7a1Yv4,1509
271
271
  sqlmesh/utils/windows.py,sha256=r7Yin4WEwbvH7sKA3hOJtRsclmscNuBeCklCfVPvtQs,611
272
272
  sqlmesh/utils/yaml.py,sha256=np-WVcwmwsKghCgAj1OBBMsK1SXSRn4wR-H37cGiFr8,2282
273
- sqlmesh-0.188.2.dev16.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
273
+ sqlmesh-0.188.2.dev18.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
274
274
  web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
275
  web/client/dist/index.html,sha256=U9DgO3KqjoSuGiKVKR8AAdfXFUa0kaXJgIRAsmZ5RH8,5472
276
276
  web/client/dist/assets/Audits-CNkn30Bu.js,sha256=0uC1ibXDFzBjPRshILFo9VzNNKHT3nvIgQhrhVDG-1Y,1041
@@ -373,11 +373,11 @@ web/server/main.py,sha256=9PaDa8sigo1z0AxtI3sQ3fHmDqs6uXwP-_IvoMwkznw,3199
373
373
  web/server/models.py,sha256=NUI2xqDcav20uuC2BZ9xDL2x0v16-gpVT1Sb-WHfAcg,15518
374
374
  web/server/openapi.py,sha256=NOg__YQg7arVdajQv5CvOA5KLTQCfGZFvwnjARuM6iE,586
375
375
  web/server/settings.py,sha256=PuWrOmn5LpJMBTymCMQreqMsL93tClTJ6wlcAZXjgCo,3755
376
- web/server/utils.py,sha256=xqfzyqzsFSZu9Q9QHBCNvULUpAC6viInsznOJwcU6ig,3988
376
+ web/server/utils.py,sha256=bb6AOM3Nga-zihPjZvJeDL6sHqTPNC_SYjklsy8tAQA,4013
377
377
  web/server/watcher.py,sha256=5biJ8gbHmGNUrooMFWRmw00XDVg0bMx6Hub571cs6TI,5246
378
378
  web/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
379
379
  web/server/api/endpoints/__init__.py,sha256=FcXl56-kPqbKgCZKOx0kjE50hn37q1m-nwOCxI9tRcc,932
380
- web/server/api/endpoints/commands.py,sha256=MpFiGihTNH074q06-7JyJ6x_kiV2C91Qq4pOWdlDkNg,8366
380
+ web/server/api/endpoints/commands.py,sha256=-4Ed0YLpjQEShHSASf0nFkyD3lFrU_CfUlaYD0klDvg,8371
381
381
  web/server/api/endpoints/directories.py,sha256=Aa8U4pTs3Saj5DnJ9TDnX9mZois-EXgpcBm5GpNNM_s,1822
382
382
  web/server/api/endpoints/environments.py,sha256=g3YC6j4LLlG_wjJqn-Hrz78BWmgS7vhUhzaycsiez00,2124
383
383
  web/server/api/endpoints/events.py,sha256=tjhOhGe9jt7L1mOLLapl5qTvicDRnP5lPZHSq9OnSVI,932
@@ -388,8 +388,8 @@ web/server/api/endpoints/models.py,sha256=ud-lRwriyI_OYg9tZchrBgeiXELiRTLNEodraf
388
388
  web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
389
389
  web/server/api/endpoints/plan.py,sha256=OYuQ_4dgbhG9ibTcX1a8mvYgH3ANxw9Fhbb4wg6QWqc,9222
390
390
  web/server/api/endpoints/table_diff.py,sha256=Wd5YxeKbZB7AkrDvqFgvV9ZQlnKYOF1n5W_w2EHE_Zw,2085
391
- sqlmesh-0.188.2.dev16.dist-info/METADATA,sha256=2-v1oHhaV9gDD_nLNABTdIdD7E9_880HYBf21nbWCLc,26532
392
- sqlmesh-0.188.2.dev16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
- sqlmesh-0.188.2.dev16.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
- sqlmesh-0.188.2.dev16.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
- sqlmesh-0.188.2.dev16.dist-info/RECORD,,
391
+ sqlmesh-0.188.2.dev18.dist-info/METADATA,sha256=V4tEnKSZlrh0F-zTqwvFur1Ztr8idr31Tdh4FrJysqc,26532
392
+ sqlmesh-0.188.2.dev18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
+ sqlmesh-0.188.2.dev18.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
+ sqlmesh-0.188.2.dev18.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
+ sqlmesh-0.188.2.dev18.dist-info/RECORD,,
@@ -4,7 +4,6 @@ import asyncio
4
4
  import io
5
5
  import typing as t
6
6
 
7
- import pandas as pd
8
7
  from fastapi import APIRouter, Body, Depends, Request, Response
9
8
  from starlette.status import HTTP_204_NO_CONTENT
10
9
  from sqlmesh.core.console import Verbosity
@@ -66,6 +65,8 @@ async def evaluate(
66
65
  context: Context = Depends(get_loaded_context),
67
66
  ) -> ArrowStreamingResponse:
68
67
  """Evaluate a model with a default limit of 1000"""
68
+ import pandas as pd
69
+
69
70
  try:
70
71
  df = context.evaluate(
71
72
  options.model,
web/server/utils.py CHANGED
@@ -6,7 +6,6 @@ import io
6
6
  import typing as t
7
7
  from pathlib import Path, PurePath
8
8
 
9
- import pandas as pd
10
9
  import pyarrow as pa # type: ignore
11
10
  from fastapi import Depends, HTTPException
12
11
  from starlette.responses import StreamingResponse
@@ -18,6 +17,9 @@ from web.server.exceptions import ApiException
18
17
  from web.server.settings import Settings, get_context, get_settings
19
18
  from sqlmesh.utils.windows import IS_WINDOWS
20
19
 
20
+ if t.TYPE_CHECKING:
21
+ import pandas as pd
22
+
21
23
  R = t.TypeVar("R")
22
24
 
23
25