44import sys
55import typing as t
66import sqlmesh .core .dialect as d
7- from sqlglot .optimizer .simplify import gen
87from pathlib import Path
98from sqlmesh .core import constants as c
109from sqlmesh .core .config import (
1716from sqlmesh .core .loader import CacheBase , LoadedProject , Loader
1817from sqlmesh .core .macros import MacroRegistry , macro
1918from sqlmesh .core .model import Model , ModelCache
20- from sqlmesh .core .model .common import make_python_env
2119from sqlmesh .core .signal import signal
2220from sqlmesh .dbt .basemodel import BMC , BaseModelConfig
21+ from sqlmesh .dbt .common import Dependencies
2322from sqlmesh .dbt .context import DbtContext
2423from sqlmesh .dbt .model import ModelConfig
2524from sqlmesh .dbt .profile import Profile
@@ -259,22 +258,18 @@ def _load_environment_statements(self, macros: MacroRegistry) -> t.List[Environm
259258
260259 if statements := on_run_start + on_run_end :
261260 jinja_references , used_variables = extract_macro_references_and_variables (
262- * ( gen ( stmt ) for stmt in statements )
261+ * statements
263262 )
264263
265- jinja_registry = make_jinja_registry (
266- context .jinja_macros , package_name , jinja_references
264+ statements_context = context .context_for_dependencies (
265+ Dependencies (
266+ variables = used_variables ,
267+ )
267268 )
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 ,
269+ jinja_registry = make_jinja_registry (
270+ statements_context .jinja_macros , package_name , jinja_references
277271 )
272+ jinja_registry .add_globals (statements_context .jinja_globals )
278273
279274 hooks_by_package_name [package_name ] = EnvironmentStatements (
280275 before_all = [
@@ -285,7 +280,7 @@ def _load_environment_statements(self, macros: MacroRegistry) -> t.List[Environm
285280 d .jinja_statement (stmt ).sql (dialect = dialect )
286281 for stmt in on_run_end or []
287282 ],
288- python_env = python_env ,
283+ python_env = {} ,
289284 jinja_macros = jinja_registry ,
290285 )
291286 # Project hooks should be executed first and then rest of the packages
0 commit comments