sqlmesh 0.187.4__py3-none-any.whl → 0.187.4.dev1__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 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.187.4'
21
- __version_tuple__ = version_tuple = (0, 187, 4)
20
+ __version__ = version = '0.187.4.dev1'
21
+ __version_tuple__ = version_tuple = (0, 187, 4, 'dev1')
@@ -250,39 +250,6 @@ class EnvironmentStatements(PydanticModel):
250
250
  python_env: t.Dict[str, Executable]
251
251
  jinja_macros: t.Optional[JinjaMacroRegistry] = None
252
252
 
253
- def render_before_all(
254
- self,
255
- dialect: str,
256
- default_catalog: t.Optional[str] = None,
257
- **render_kwargs: t.Any,
258
- ) -> t.List[str]:
259
- return self.render(RuntimeStage.BEFORE_ALL, dialect, default_catalog, **render_kwargs)
260
-
261
- def render_after_all(
262
- self,
263
- dialect: str,
264
- default_catalog: t.Optional[str] = None,
265
- **render_kwargs: t.Any,
266
- ) -> t.List[str]:
267
- return self.render(RuntimeStage.AFTER_ALL, dialect, default_catalog, **render_kwargs)
268
-
269
- def render(
270
- self,
271
- runtime_stage: RuntimeStage,
272
- dialect: str,
273
- default_catalog: t.Optional[str] = None,
274
- **render_kwargs: t.Any,
275
- ) -> t.List[str]:
276
- return render_statements(
277
- statements=getattr(self, runtime_stage.value),
278
- dialect=dialect,
279
- default_catalog=default_catalog,
280
- python_env=self.python_env,
281
- jinja_macros=self.jinja_macros,
282
- runtime_stage=runtime_stage,
283
- **render_kwargs,
284
- )
285
-
286
253
 
287
254
  def execute_environment_statements(
288
255
  adapter: EngineAdapter,
@@ -299,15 +266,18 @@ def execute_environment_statements(
299
266
  rendered_expressions = [
300
267
  expr
301
268
  for statements in environment_statements
302
- for expr in statements.render(
303
- runtime_stage=runtime_stage,
269
+ for expr in render_statements(
270
+ statements=getattr(statements, runtime_stage.value),
304
271
  dialect=adapter.dialect,
305
272
  default_catalog=default_catalog,
273
+ python_env=statements.python_env,
274
+ jinja_macros=statements.jinja_macros,
306
275
  snapshots=snapshots,
307
276
  start=start,
308
277
  end=end,
309
278
  execution_time=execution_time,
310
279
  environment_naming_info=environment_naming_info,
280
+ runtime_stage=runtime_stage,
311
281
  engine_adapter=adapter,
312
282
  )
313
283
  ]
sqlmesh/dbt/loader.py CHANGED
@@ -4,6 +4,7 @@ import logging
4
4
  import sys
5
5
  import typing as t
6
6
  import sqlmesh.core.dialect as d
7
+ from sqlglot.optimizer.simplify import gen
7
8
  from pathlib import Path
8
9
  from sqlmesh.core import constants as c
9
10
  from sqlmesh.core.config import (
@@ -16,9 +17,9 @@ from sqlmesh.core.environment import EnvironmentStatements
16
17
  from sqlmesh.core.loader import CacheBase, LoadedProject, Loader
17
18
  from sqlmesh.core.macros import MacroRegistry, macro
18
19
  from sqlmesh.core.model import Model, ModelCache
20
+ from sqlmesh.core.model.common import make_python_env
19
21
  from sqlmesh.core.signal import signal
20
22
  from sqlmesh.dbt.basemodel import BMC, BaseModelConfig
21
- from sqlmesh.dbt.common import Dependencies
22
23
  from sqlmesh.dbt.context import DbtContext
23
24
  from sqlmesh.dbt.model import ModelConfig
24
25
  from sqlmesh.dbt.profile import Profile
@@ -258,18 +259,22 @@ class DbtLoader(Loader):
258
259
 
259
260
  if statements := on_run_start + on_run_end:
260
261
  jinja_references, used_variables = extract_macro_references_and_variables(
261
- *statements
262
+ *(gen(stmt) for stmt in statements)
262
263
  )
263
264
 
264
- statements_context = context.context_for_dependencies(
265
- Dependencies(
266
- variables=used_variables,
267
- )
268
- )
269
265
  jinja_registry = make_jinja_registry(
270
- statements_context.jinja_macros, package_name, jinja_references
266
+ context.jinja_macros, package_name, jinja_references
267
+ )
268
+
269
+ python_env = make_python_env(
270
+ [s for stmt in statements for s in d.parse(stmt, default_dialect=dialect)],
271
+ jinja_macro_references=jinja_references,
272
+ module_path=self.config_path,
273
+ macros=macros,
274
+ variables=context.variables,
275
+ used_variables=used_variables,
276
+ path=self.config_path,
271
277
  )
272
- jinja_registry.add_globals(statements_context.jinja_globals)
273
278
 
274
279
  hooks_by_package_name[package_name] = EnvironmentStatements(
275
280
  before_all=[
@@ -280,7 +285,7 @@ class DbtLoader(Loader):
280
285
  d.jinja_statement(stmt).sql(dialect=dialect)
281
286
  for stmt in on_run_end or []
282
287
  ],
283
- python_env={},
288
+ python_env=python_env,
284
289
  jinja_macros=jinja_registry,
285
290
  )
286
291
  # Project hooks should be executed first and then rest of the packages
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.187.4
3
+ Version: 0.187.4.dev1
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=b9dc2xFQ0-Cz91Rw9ZLnKviHsBGFeD5AOnhNvCLTlJM,515
2
+ sqlmesh/_version.py,sha256=ozrWP0Pbj96w2S4IYuITkOdECeI1caOx497D44IAJ8w,528
3
3
  sqlmesh/magics.py,sha256=JHorAZNtezf123jmTyNSoUC9yHmv-08hMP205PJmmIo,39750
4
4
  sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -16,7 +16,7 @@ sqlmesh/core/constants.py,sha256=oqt6zjepUhQoWlgapKn_HpG7Pu9mrFwepdX5caNfJUI,249
16
16
  sqlmesh/core/context.py,sha256=gOwToFkXSQjb71Ki3cEqfxYjS64p2T2XKfZPVBtjGQA,115624
17
17
  sqlmesh/core/context_diff.py,sha256=s9toP17d4tJfOpFH91LcjGK2CM64PVuB0MPkeFgF4hQ,20415
18
18
  sqlmesh/core/dialect.py,sha256=fPTV517IOS0nWMxYznNNQnXkQkFFrPOSKe8ghsQ0o8A,49759
19
- sqlmesh/core/environment.py,sha256=Fsih6WZ7Tx4ec0XIlmIIspUWcmijPNW5uHPRQSWuhA8,12315
19
+ sqlmesh/core/environment.py,sha256=0TTQf4C4LXwf37fm-dfYv1qyG7vtZfQI5rizgm5g0j0,11442
20
20
  sqlmesh/core/lineage.py,sha256=zjB0Zfamo2Fja2r5SSZPMbrEKTXr1WjozZPVqvxdybI,3143
21
21
  sqlmesh/core/loader.py,sha256=exNCHmw06-CRBtOk-Hk5Ivw3gCowDWbxcvhMJVxpDd8,35887
22
22
  sqlmesh/core/macros.py,sha256=wSKkFDZ2eIvhPENIsQ_7j27zVMHIgT-2juRjGvDeEKM,59620
@@ -127,7 +127,7 @@ sqlmesh/dbt/builtin.py,sha256=fyzv4qR1isfnID1oWz-r46oDQvS90DN5mMUEWgapvN8,15153
127
127
  sqlmesh/dbt/column.py,sha256=Kvj_N3D_QegcoNQG7VqRiqy-FRfupud-6ilhlykBOgE,1873
128
128
  sqlmesh/dbt/common.py,sha256=g4PAL-sEdlnfb_zT-WW3xh-oamyCUoK8dUiDEMVwDWI,7804
129
129
  sqlmesh/dbt/context.py,sha256=dxClM-G1IeMbP0v5yxC_va8QNU-uKghW2dBlSZHJOk0,10331
130
- sqlmesh/dbt/loader.py,sha256=H-ky9kNd7QgSvBvCXsf8le3E3v3RUhNJOwwPSH0ud1M,15760
130
+ sqlmesh/dbt/loader.py,sha256=dXnqs_MmbP5u1CzoCviQpA_i0XCaEvm_L3kJTWOmFJ8,16024
131
131
  sqlmesh/dbt/manifest.py,sha256=iKfUWiqydIW3YnX6hqWAzRc-TmhiXfVFS7e29XJaS6E,22906
132
132
  sqlmesh/dbt/model.py,sha256=-TqeldZAqW-4g84Xi_16DpUD3atImk_9OHMbATIKYb8,26328
133
133
  sqlmesh/dbt/package.py,sha256=WM5Ve6o0QPW3rZxhw1xbr3yX2619I5KtHOKK1qe5mfU,4291
@@ -270,7 +270,7 @@ sqlmesh/utils/pydantic.py,sha256=I898jAFqa3qU6lG2uPpRebVFncOUo8ZrLWM_R3K3DHU,116
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.187.4.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
273
+ sqlmesh-0.187.4.dev1.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=M50OuwjW63dRCS0Dz40Yecgvw9ecLFqizbTa6gv5Nd4,5472
276
276
  web/client/dist/assets/Audits-BPlxzqeG.js,sha256=TCx1qCjCGgmUSvH6HoPr5t8ztbRXMlOxrcW4o7hRjlA,1041
@@ -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.187.4.dist-info/METADATA,sha256=X12PmC1NFNyckJMpTXzGYCWxwUsesqz6dfv7ZuSO3AU,25545
392
- sqlmesh-0.187.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
- sqlmesh-0.187.4.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
- sqlmesh-0.187.4.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
- sqlmesh-0.187.4.dist-info/RECORD,,
391
+ sqlmesh-0.187.4.dev1.dist-info/METADATA,sha256=hjoruQNva-1uq-UszSzv44YgUR52BtEAMhoxOryT0Vc,25550
392
+ sqlmesh-0.187.4.dev1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
+ sqlmesh-0.187.4.dev1.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
+ sqlmesh-0.187.4.dev1.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
+ sqlmesh-0.187.4.dev1.dist-info/RECORD,,