sqlmesh 0.199.1.dev29__py3-none-any.whl → 0.199.1.dev31__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.
- sqlmesh/_version.py +2 -2
- sqlmesh/core/context.py +12 -6
- sqlmesh/core/engine_adapter/base.py +9 -5
- sqlmesh/core/model/common.py +13 -0
- sqlmesh/core/model/definition.py +14 -6
- sqlmesh/core/plan/evaluator.py +8 -3
- sqlmesh/core/snapshot/evaluator.py +12 -1
- {sqlmesh-0.199.1.dev29.dist-info → sqlmesh-0.199.1.dev31.dist-info}/METADATA +1 -1
- {sqlmesh-0.199.1.dev29.dist-info → sqlmesh-0.199.1.dev31.dist-info}/RECORD +13 -13
- {sqlmesh-0.199.1.dev29.dist-info → sqlmesh-0.199.1.dev31.dist-info}/WHEEL +0 -0
- {sqlmesh-0.199.1.dev29.dist-info → sqlmesh-0.199.1.dev31.dist-info}/entry_points.txt +0 -0
- {sqlmesh-0.199.1.dev29.dist-info → sqlmesh-0.199.1.dev31.dist-info}/licenses/LICENSE +0 -0
- {sqlmesh-0.199.1.dev29.dist-info → sqlmesh-0.199.1.dev31.dist-info}/top_level.txt +0 -0
sqlmesh/_version.py
CHANGED
|
@@ -17,5 +17,5 @@ __version__: str
|
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
|
18
18
|
version_tuple: VERSION_TUPLE
|
|
19
19
|
|
|
20
|
-
__version__ = version = '0.199.1.
|
|
21
|
-
__version_tuple__ = version_tuple = (0, 199, 1, '
|
|
20
|
+
__version__ = version = '0.199.1.dev31'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 199, 1, 'dev31')
|
sqlmesh/core/context.py
CHANGED
|
@@ -453,7 +453,7 @@ class GenericContext(BaseContext, t.Generic[C]):
|
|
|
453
453
|
if not self._snapshot_evaluator:
|
|
454
454
|
self._snapshot_evaluator = SnapshotEvaluator(
|
|
455
455
|
{
|
|
456
|
-
gateway: adapter.with_settings(
|
|
456
|
+
gateway: adapter.with_settings(execute_log_level=logging.INFO)
|
|
457
457
|
for gateway, adapter in self.engine_adapters.items()
|
|
458
458
|
},
|
|
459
459
|
ddl_concurrent_tasks=self.concurrent_tasks,
|
|
@@ -520,7 +520,11 @@ class GenericContext(BaseContext, t.Generic[C]):
|
|
|
520
520
|
|
|
521
521
|
return model
|
|
522
522
|
|
|
523
|
-
def scheduler(
|
|
523
|
+
def scheduler(
|
|
524
|
+
self,
|
|
525
|
+
environment: t.Optional[str] = None,
|
|
526
|
+
snapshot_evaluator: t.Optional[SnapshotEvaluator] = None,
|
|
527
|
+
) -> Scheduler:
|
|
524
528
|
"""Returns the built-in scheduler.
|
|
525
529
|
|
|
526
530
|
Args:
|
|
@@ -542,9 +546,11 @@ class GenericContext(BaseContext, t.Generic[C]):
|
|
|
542
546
|
if not snapshots:
|
|
543
547
|
raise ConfigError("No models were found")
|
|
544
548
|
|
|
545
|
-
return self.create_scheduler(snapshots)
|
|
549
|
+
return self.create_scheduler(snapshots, snapshot_evaluator or self.snapshot_evaluator)
|
|
546
550
|
|
|
547
|
-
def create_scheduler(
|
|
551
|
+
def create_scheduler(
|
|
552
|
+
self, snapshots: t.Iterable[Snapshot], snapshot_evaluator: SnapshotEvaluator
|
|
553
|
+
) -> Scheduler:
|
|
548
554
|
"""Creates the built-in scheduler.
|
|
549
555
|
|
|
550
556
|
Args:
|
|
@@ -555,7 +561,7 @@ class GenericContext(BaseContext, t.Generic[C]):
|
|
|
555
561
|
"""
|
|
556
562
|
return Scheduler(
|
|
557
563
|
snapshots,
|
|
558
|
-
|
|
564
|
+
snapshot_evaluator,
|
|
559
565
|
self.state_sync,
|
|
560
566
|
default_catalog=self.default_catalog,
|
|
561
567
|
max_workers=self.concurrent_tasks,
|
|
@@ -1931,7 +1937,7 @@ class GenericContext(BaseContext, t.Generic[C]):
|
|
|
1931
1937
|
)
|
|
1932
1938
|
|
|
1933
1939
|
return TableDiff(
|
|
1934
|
-
adapter=adapter.with_settings(logger.getEffectiveLevel()),
|
|
1940
|
+
adapter=adapter.with_settings(execute_log_level=logger.getEffectiveLevel()),
|
|
1935
1941
|
source=source,
|
|
1936
1942
|
target=target,
|
|
1937
1943
|
on=on,
|
|
@@ -147,19 +147,23 @@ class EngineAdapter:
|
|
|
147
147
|
self._multithreaded = multithreaded
|
|
148
148
|
self.correlation_id = correlation_id
|
|
149
149
|
|
|
150
|
-
def with_settings(self,
|
|
150
|
+
def with_settings(self, **kwargs: t.Any) -> EngineAdapter:
|
|
151
|
+
extra_kwargs = {
|
|
152
|
+
"null_connection": True,
|
|
153
|
+
"execute_log_level": kwargs.pop("execute_log_level", self._execute_log_level),
|
|
154
|
+
**self._extra_config,
|
|
155
|
+
**kwargs,
|
|
156
|
+
}
|
|
157
|
+
|
|
151
158
|
adapter = self.__class__(
|
|
152
159
|
self._connection_pool,
|
|
153
160
|
dialect=self.dialect,
|
|
154
161
|
sql_gen_kwargs=self._sql_gen_kwargs,
|
|
155
162
|
default_catalog=self._default_catalog,
|
|
156
|
-
execute_log_level=log_level,
|
|
157
163
|
register_comments=self._register_comments,
|
|
158
|
-
null_connection=True,
|
|
159
164
|
multithreaded=self._multithreaded,
|
|
160
165
|
pretty_sql=self._pretty_sql,
|
|
161
|
-
**
|
|
162
|
-
**kwargs,
|
|
166
|
+
**extra_kwargs,
|
|
163
167
|
)
|
|
164
168
|
|
|
165
169
|
return adapter
|
sqlmesh/core/model/common.py
CHANGED
|
@@ -440,6 +440,19 @@ def sorted_python_env_payloads(python_env: t.Dict[str, Executable]) -> t.List[st
|
|
|
440
440
|
return [_executable_to_str(k, v) for k, v in sort_python_env(python_env)]
|
|
441
441
|
|
|
442
442
|
|
|
443
|
+
def parse_strings_with_macro_refs(value: t.Any, dialect: DialectType) -> t.Any:
|
|
444
|
+
if isinstance(value, str) and "@" in value:
|
|
445
|
+
return exp.maybe_parse(value, dialect=dialect)
|
|
446
|
+
|
|
447
|
+
if isinstance(value, dict):
|
|
448
|
+
for k, v in dict(value).items():
|
|
449
|
+
value[k] = parse_strings_with_macro_refs(v, dialect)
|
|
450
|
+
elif isinstance(value, list):
|
|
451
|
+
value = [parse_strings_with_macro_refs(v, dialect) for v in value]
|
|
452
|
+
|
|
453
|
+
return value
|
|
454
|
+
|
|
455
|
+
|
|
443
456
|
expression_validator: t.Callable = field_validator(
|
|
444
457
|
"query",
|
|
445
458
|
"expressions_",
|
sqlmesh/core/model/definition.py
CHANGED
|
@@ -27,6 +27,7 @@ from sqlmesh.core.model.common import (
|
|
|
27
27
|
expression_validator,
|
|
28
28
|
make_python_env,
|
|
29
29
|
parse_dependencies,
|
|
30
|
+
parse_strings_with_macro_refs,
|
|
30
31
|
single_value_or_tuple,
|
|
31
32
|
sorted_python_env_payloads,
|
|
32
33
|
validate_extra_and_required_fields,
|
|
@@ -72,13 +73,14 @@ if t.TYPE_CHECKING:
|
|
|
72
73
|
|
|
73
74
|
logger = logging.getLogger(__name__)
|
|
74
75
|
|
|
76
|
+
|
|
77
|
+
UNRENDERABLE_MODEL_FIELDS = {"cron", "description"}
|
|
78
|
+
|
|
75
79
|
PROPERTIES = {"physical_properties", "session_properties", "virtual_properties"}
|
|
76
80
|
|
|
77
81
|
RUNTIME_RENDERED_MODEL_FIELDS = {
|
|
78
82
|
"audits",
|
|
79
83
|
"signals",
|
|
80
|
-
"description",
|
|
81
|
-
"cron",
|
|
82
84
|
"merge_filter",
|
|
83
85
|
} | PROPERTIES
|
|
84
86
|
|
|
@@ -2469,6 +2471,9 @@ def _create_model(
|
|
|
2469
2471
|
if isinstance(property_values, exp.Tuple):
|
|
2470
2472
|
statements.extend(property_values.expressions)
|
|
2471
2473
|
|
|
2474
|
+
if isinstance(getattr(kwargs.get("kind"), "merge_filter", None), exp.Expression):
|
|
2475
|
+
statements.append(kwargs["kind"].merge_filter)
|
|
2476
|
+
|
|
2472
2477
|
jinja_macro_references, used_variables = extract_macro_references_and_variables(
|
|
2473
2478
|
*(gen(e if isinstance(e, exp.Expression) else e[0]) for e in statements)
|
|
2474
2479
|
)
|
|
@@ -2751,21 +2756,24 @@ def render_meta_fields(
|
|
|
2751
2756
|
|
|
2752
2757
|
for field_name, field_info in ModelMeta.all_field_infos().items():
|
|
2753
2758
|
field = field_info.alias or field_name
|
|
2759
|
+
field_value = fields.get(field)
|
|
2754
2760
|
|
|
2755
|
-
|
|
2761
|
+
# We don't want to parse python model cron="@..." kwargs (e.g. @daily) into MacroVar
|
|
2762
|
+
if field == "cron" or field_value is None:
|
|
2756
2763
|
continue
|
|
2757
2764
|
|
|
2758
|
-
|
|
2759
|
-
|
|
2765
|
+
if field in RUNTIME_RENDERED_MODEL_FIELDS:
|
|
2766
|
+
fields[field] = parse_strings_with_macro_refs(field_value, dialect)
|
|
2760
2767
|
continue
|
|
2761
2768
|
|
|
2762
2769
|
if isinstance(field_value, dict):
|
|
2763
2770
|
rendered_dict = {}
|
|
2764
2771
|
for key, value in field_value.items():
|
|
2765
2772
|
if key in RUNTIME_RENDERED_MODEL_FIELDS:
|
|
2766
|
-
rendered_dict[key] = value
|
|
2773
|
+
rendered_dict[key] = parse_strings_with_macro_refs(value, dialect)
|
|
2767
2774
|
elif (rendered := render_field_value(value)) is not None:
|
|
2768
2775
|
rendered_dict[key] = rendered
|
|
2776
|
+
|
|
2769
2777
|
if rendered_dict:
|
|
2770
2778
|
fields[field] = rendered_dict
|
|
2771
2779
|
else:
|
sqlmesh/core/plan/evaluator.py
CHANGED
|
@@ -38,6 +38,7 @@ from sqlmesh.core.snapshot import (
|
|
|
38
38
|
)
|
|
39
39
|
from sqlmesh.utils import to_snake_case
|
|
40
40
|
from sqlmesh.core.state_sync import StateSync
|
|
41
|
+
from sqlmesh.utils import CorrelationId
|
|
41
42
|
from sqlmesh.utils.concurrency import NodeExecutionFailedError
|
|
42
43
|
from sqlmesh.utils.errors import PlanError, SQLMeshError
|
|
43
44
|
from sqlmesh.utils.dag import DAG
|
|
@@ -71,7 +72,7 @@ class BuiltInPlanEvaluator(PlanEvaluator):
|
|
|
71
72
|
self,
|
|
72
73
|
state_sync: StateSync,
|
|
73
74
|
snapshot_evaluator: SnapshotEvaluator,
|
|
74
|
-
create_scheduler: t.Callable[[t.Iterable[Snapshot]], Scheduler],
|
|
75
|
+
create_scheduler: t.Callable[[t.Iterable[Snapshot], SnapshotEvaluator], Scheduler],
|
|
75
76
|
default_catalog: t.Optional[str],
|
|
76
77
|
console: t.Optional[Console] = None,
|
|
77
78
|
):
|
|
@@ -88,6 +89,9 @@ class BuiltInPlanEvaluator(PlanEvaluator):
|
|
|
88
89
|
circuit_breaker: t.Optional[t.Callable[[], bool]] = None,
|
|
89
90
|
) -> None:
|
|
90
91
|
self._circuit_breaker = circuit_breaker
|
|
92
|
+
self.snapshot_evaluator = self.snapshot_evaluator.set_correlation_id(
|
|
93
|
+
CorrelationId.from_plan_id(plan.plan_id)
|
|
94
|
+
)
|
|
91
95
|
|
|
92
96
|
self.console.start_plan_evaluation(plan)
|
|
93
97
|
analytics.collector.on_plan_apply_start(
|
|
@@ -106,6 +110,7 @@ class BuiltInPlanEvaluator(PlanEvaluator):
|
|
|
106
110
|
else:
|
|
107
111
|
analytics.collector.on_plan_apply_end(plan_id=plan.plan_id)
|
|
108
112
|
finally:
|
|
113
|
+
self.snapshot_evaluator.recycle()
|
|
109
114
|
self.console.stop_plan_evaluation()
|
|
110
115
|
|
|
111
116
|
def _evaluate_stages(
|
|
@@ -228,7 +233,7 @@ class BuiltInPlanEvaluator(PlanEvaluator):
|
|
|
228
233
|
self.console.log_success("SKIP: No model batches to execute")
|
|
229
234
|
return
|
|
230
235
|
|
|
231
|
-
scheduler = self.create_scheduler(stage.all_snapshots.values())
|
|
236
|
+
scheduler = self.create_scheduler(stage.all_snapshots.values(), self.snapshot_evaluator)
|
|
232
237
|
errors, _ = scheduler.run_merged_intervals(
|
|
233
238
|
merged_intervals=stage.snapshot_to_intervals,
|
|
234
239
|
deployability_index=stage.deployability_index,
|
|
@@ -249,7 +254,7 @@ class BuiltInPlanEvaluator(PlanEvaluator):
|
|
|
249
254
|
return
|
|
250
255
|
|
|
251
256
|
# If there are any snapshots to be audited, we'll reuse the scheduler's internals to audit them
|
|
252
|
-
scheduler = self.create_scheduler(audit_snapshots)
|
|
257
|
+
scheduler = self.create_scheduler(audit_snapshots, self.snapshot_evaluator)
|
|
253
258
|
completion_status = scheduler.audit(
|
|
254
259
|
plan.environment,
|
|
255
260
|
plan.start,
|
|
@@ -61,7 +61,7 @@ from sqlmesh.core.snapshot import (
|
|
|
61
61
|
SnapshotTableCleanupTask,
|
|
62
62
|
)
|
|
63
63
|
from sqlmesh.core.snapshot.definition import parent_snapshots_by_name
|
|
64
|
-
from sqlmesh.utils import random_id
|
|
64
|
+
from sqlmesh.utils import random_id, CorrelationId
|
|
65
65
|
from sqlmesh.utils.concurrency import (
|
|
66
66
|
concurrent_apply_to_snapshots,
|
|
67
67
|
concurrent_apply_to_values,
|
|
@@ -127,6 +127,7 @@ class SnapshotEvaluator:
|
|
|
127
127
|
if not selected_gateway
|
|
128
128
|
else self.adapters[selected_gateway]
|
|
129
129
|
)
|
|
130
|
+
self.selected_gateway = selected_gateway
|
|
130
131
|
self.ddl_concurrent_tasks = ddl_concurrent_tasks
|
|
131
132
|
|
|
132
133
|
def evaluate(
|
|
@@ -1186,6 +1187,16 @@ class SnapshotEvaluator:
|
|
|
1186
1187
|
)
|
|
1187
1188
|
adapter.execute(snapshot.model.render_post_statements(**create_render_kwargs))
|
|
1188
1189
|
|
|
1190
|
+
def set_correlation_id(self, correlation_id: CorrelationId) -> SnapshotEvaluator:
|
|
1191
|
+
return SnapshotEvaluator(
|
|
1192
|
+
{
|
|
1193
|
+
gateway: adapter.with_settings(correlation_id=correlation_id)
|
|
1194
|
+
for gateway, adapter in self.adapters.items()
|
|
1195
|
+
},
|
|
1196
|
+
self.ddl_concurrent_tasks,
|
|
1197
|
+
self.selected_gateway,
|
|
1198
|
+
)
|
|
1199
|
+
|
|
1189
1200
|
|
|
1190
1201
|
def _evaluation_strategy(snapshot: SnapshotInfoLike, adapter: EngineAdapter) -> EvaluationStrategy:
|
|
1191
1202
|
klass: t.Type
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
sqlmesh/__init__.py,sha256=QjwaamJIdW7voXoS880yAx7tHm-Im4_mqGA-XJgafos,7631
|
|
2
|
-
sqlmesh/_version.py,sha256=
|
|
2
|
+
sqlmesh/_version.py,sha256=CgHjS2NBWQdSFZUQVN24C3Ezoj0vTyfhAquX6nAtixs,530
|
|
3
3
|
sqlmesh/magics.py,sha256=R9U0Mp9ZQhDYe751nxAQDLaMv3zLAR4HcTdIflKTmEE,41709
|
|
4
4
|
sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -13,7 +13,7 @@ sqlmesh/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
13
13
|
sqlmesh/core/_typing.py,sha256=e1f7xO2aZCy38M_3VoDy-XI3shyd99-IFctgIFSgXWM,497
|
|
14
14
|
sqlmesh/core/console.py,sha256=ObpdArJOXDOihWPXsWIUuwiQ64cMlroNWJHqQPkVqC0,160753
|
|
15
15
|
sqlmesh/core/constants.py,sha256=gUABXWYgH_XOSbaZAJsR5o1dmA61JDCvBDyxqqXX3LM,2630
|
|
16
|
-
sqlmesh/core/context.py,sha256=
|
|
16
|
+
sqlmesh/core/context.py,sha256=AuwB0PiV1jW7WZDaMOo_RkfKKTvwq6IDjByCHLA1GKw,124433
|
|
17
17
|
sqlmesh/core/context_diff.py,sha256=CeUmMBJzN__98YohrtAiIYPIZI9mrGBk6bVADWBLUw8,21692
|
|
18
18
|
sqlmesh/core/dialect.py,sha256=1ykYwb9WZn_nCaX08PcQ0BJh2Pihv9SPvoMNjpMeCfs,50158
|
|
19
19
|
sqlmesh/core/environment.py,sha256=7DbJX0r5nZRU3LhcgIxbSV-JosQYDjAt3V5Wc2Fpns8,13005
|
|
@@ -59,7 +59,7 @@ sqlmesh/core/config/ui.py,sha256=jsO-S6_d9NkLZGG5pT4mgKgxMF34KzkDociZAMvCX3U,278
|
|
|
59
59
|
sqlmesh/core/engine_adapter/__init__.py,sha256=two_WTs4UnSNp-fscJh8vOunJq0Xi37EuDuMjKsKuNE,2281
|
|
60
60
|
sqlmesh/core/engine_adapter/_typing.py,sha256=_63pYCThfC39UtPVHY3N0H6qJ1YBT32OqwwR3swolGM,1037
|
|
61
61
|
sqlmesh/core/engine_adapter/athena.py,sha256=DMC94WfCH8m37cVPio43Q11J8RQE8tuf1nl0RtXZ_CM,26198
|
|
62
|
-
sqlmesh/core/engine_adapter/base.py,sha256=
|
|
62
|
+
sqlmesh/core/engine_adapter/base.py,sha256=9rRzY01cvPdrWGCGfT4qqsPbklt6vUWTQmK_C9DEiAo,104182
|
|
63
63
|
sqlmesh/core/engine_adapter/base_postgres.py,sha256=DOsOdCJyQAVfA9S0GznuH0J1bonMqYVP_yJLDYcxFYM,6772
|
|
64
64
|
sqlmesh/core/engine_adapter/bigquery.py,sha256=qJE8vHLKKAeWMvltmYaUvWS95jM_UEZ6UzYLlr58sGo,50424
|
|
65
65
|
sqlmesh/core/engine_adapter/clickhouse.py,sha256=LoPdm_s_s-ZxS1XJPA3Et0iOHeJ1LgqTAFbwBdiqE7A,34912
|
|
@@ -86,9 +86,9 @@ sqlmesh/core/metric/definition.py,sha256=Yd5aVgsZCDPJ43aGP7WqtzZOuuSUtB8uJGVA6Jw
|
|
|
86
86
|
sqlmesh/core/metric/rewriter.py,sha256=GiSTHfn2kinqCfNPYgZPRk93JFLzVaaejHtHDQ0yXZI,7326
|
|
87
87
|
sqlmesh/core/model/__init__.py,sha256=C8GRZ53xuXEA9hQv3BQS9pNNyd9rZ06R_B96UYGhDu4,1644
|
|
88
88
|
sqlmesh/core/model/cache.py,sha256=csun0RJguHzKX6-qITcOs4fVP4f8_Ts8qiUVV4sHY6Q,7869
|
|
89
|
-
sqlmesh/core/model/common.py,sha256=
|
|
89
|
+
sqlmesh/core/model/common.py,sha256=dPyqXLaDSnQgDVdbiOZ7YwomlaPIvGfyL-mHhc7bR1o,17830
|
|
90
90
|
sqlmesh/core/model/decorator.py,sha256=wUUg5t0K559tV9Pqt6FE2EWXt5TPGb4wF2Yg4B4hX4w,9251
|
|
91
|
-
sqlmesh/core/model/definition.py,sha256=
|
|
91
|
+
sqlmesh/core/model/definition.py,sha256=mAcbq5chgFgDQi0f_p-lByvbFK9kIQgQfROqvP5LnB8,112396
|
|
92
92
|
sqlmesh/core/model/kind.py,sha256=8Dp8yiTiXltboZWrB2FJ-LQ3zx4Fv_5Tj0KdUIPwCHI,36358
|
|
93
93
|
sqlmesh/core/model/meta.py,sha256=D9InI9M2-IXeb34vkXNQSLALL8xVXjZ_LXwI-Tqxm7I,21197
|
|
94
94
|
sqlmesh/core/model/schema.py,sha256=_HMYfzK9wWXh7_CQDIIGnuQUD4aiX3o5D2cRp2sERzc,3387
|
|
@@ -96,14 +96,14 @@ sqlmesh/core/model/seed.py,sha256=a0M-1zY1gOkN5ph2GQyataEdBSCtq50YjeFk2LyvInI,50
|
|
|
96
96
|
sqlmesh/core/plan/__init__.py,sha256=NKSvM7ZBVjw9ho3J65M1wFvG3KURB8PJ0FHHLmtSF44,443
|
|
97
97
|
sqlmesh/core/plan/builder.py,sha256=TQVSGiGbQi9tro0tBlcL2f5BEvyOYNiLuB3yz8PRUzA,41859
|
|
98
98
|
sqlmesh/core/plan/definition.py,sha256=yrX_uZMXi29ltkuowWhNUOi1kd0Uq0TQoM574EI6JHo,14019
|
|
99
|
-
sqlmesh/core/plan/evaluator.py,sha256=
|
|
99
|
+
sqlmesh/core/plan/evaluator.py,sha256=z5Rweyc-JgWxQck8suZSlb-s5DfN0FvC6Aq1eFPwetI,20923
|
|
100
100
|
sqlmesh/core/plan/explainer.py,sha256=aBkvtM9eog_2NIglazSDdG_i9TTCdFSVOkCw5N8O-1k,12028
|
|
101
101
|
sqlmesh/core/plan/stages.py,sha256=7iiVZLSRoI1kSEMyOuuW6gvUA-eyALUfdW5vDh_N4jU,22040
|
|
102
102
|
sqlmesh/core/snapshot/__init__.py,sha256=Z5HTetNCZGoKF1WAKXk4LWL9dc8EC8lwS2O4TtoBmt4,1317
|
|
103
103
|
sqlmesh/core/snapshot/cache.py,sha256=bgqCR2hyf6r2A_8QP1EnXFK25gDX37-Zg0YeMuETWxg,3934
|
|
104
104
|
sqlmesh/core/snapshot/categorizer.py,sha256=qGG5870mu1jR2whKisSBH_GFbsyh96RnzJDgkN7DV9g,2482
|
|
105
105
|
sqlmesh/core/snapshot/definition.py,sha256=JBrvHx9ZPVWxY649IOXOYs4RKPzgLYvfdxXsdCewad0,85738
|
|
106
|
-
sqlmesh/core/snapshot/evaluator.py,sha256=
|
|
106
|
+
sqlmesh/core/snapshot/evaluator.py,sha256=yNVxlTIV8_mKmUsIJtQtjT8RZHDHA64pUPds9VZfOq8,90503
|
|
107
107
|
sqlmesh/core/state_sync/__init__.py,sha256=B60xj-_Xk-4jas3UphLvwkuf04G-9AyGckcblXE0aRg,869
|
|
108
108
|
sqlmesh/core/state_sync/base.py,sha256=AdqWmbhnvRFqVcFK6L01uCvpBVAYGuMrm4P0D3u_NaU,18334
|
|
109
109
|
sqlmesh/core/state_sync/cache.py,sha256=0AsYdQyBqbLdJvkBQ-hDAipsvnn_jSps-nya-Q4XeL0,5337
|
|
@@ -284,7 +284,7 @@ sqlmesh/utils/pydantic.py,sha256=o_NsXbIpDqNpUA1Uc5xF0ZzoXQYYB0DfHwdRxBwXPNk,120
|
|
|
284
284
|
sqlmesh/utils/rich.py,sha256=BpB47G0-JcU41LkGkeGKroexj4NOV5fox4-GOIXPgIc,3545
|
|
285
285
|
sqlmesh/utils/windows.py,sha256=r7Yin4WEwbvH7sKA3hOJtRsclmscNuBeCklCfVPvtQs,611
|
|
286
286
|
sqlmesh/utils/yaml.py,sha256=hvo5lmybYLcIx4p6CQwufS8X4MbwS60lEBnCmYJCXmU,2336
|
|
287
|
-
sqlmesh-0.199.1.
|
|
287
|
+
sqlmesh-0.199.1.dev31.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
|
|
288
288
|
web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
289
289
|
web/client/dist/index.html,sha256=DAv6ABGogw4xRLb0T_92WP_S7XWyqVhwBgGKWtuQwU4,5472
|
|
290
290
|
web/client/dist/assets/Audits-BuHAmFO8.js,sha256=zbYUF6WdUGMbnMm01GMNPb7xAJwj-o5wMdL56vPo2qE,1041
|
|
@@ -402,8 +402,8 @@ web/server/api/endpoints/models.py,sha256=ud-lRwriyI_OYg9tZchrBgeiXELiRTLNEodraf
|
|
|
402
402
|
web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
|
|
403
403
|
web/server/api/endpoints/plan.py,sha256=bbbY50W_2MsZSTxOHWMKz0tbIm75nsRSlPy8GI2fg9Q,9306
|
|
404
404
|
web/server/api/endpoints/table_diff.py,sha256=SCy3-pr5x6bEEiOaZGCDbiHQhpgxwmnz3Acqa2Ie6jI,2090
|
|
405
|
-
sqlmesh-0.199.1.
|
|
406
|
-
sqlmesh-0.199.1.
|
|
407
|
-
sqlmesh-0.199.1.
|
|
408
|
-
sqlmesh-0.199.1.
|
|
409
|
-
sqlmesh-0.199.1.
|
|
405
|
+
sqlmesh-0.199.1.dev31.dist-info/METADATA,sha256=b2S5AOFx4aEUG1T59ljG0g7winpSYkR_WMjLrl8uUgw,26659
|
|
406
|
+
sqlmesh-0.199.1.dev31.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
407
|
+
sqlmesh-0.199.1.dev31.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
|
|
408
|
+
sqlmesh-0.199.1.dev31.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
|
|
409
|
+
sqlmesh-0.199.1.dev31.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|