8888 NotificationTargetManager ,
8989)
9090from sqlmesh .core .plan import Plan , PlanBuilder , SnapshotIntervals
91+ from sqlmesh .core .plan .definition import UserProvidedFlags
9192from sqlmesh .core .reference import ReferenceGraph
9293from sqlmesh .core .scheduler import Scheduler , CompletionStatus
9394from sqlmesh .core .schema_loader import create_external_models_file
@@ -1161,11 +1162,11 @@ def plan(
11611162 end : t .Optional [TimeLike ] = None ,
11621163 execution_time : t .Optional [TimeLike ] = None ,
11631164 create_from : t .Optional [str ] = None ,
1164- skip_tests : bool = False ,
1165+ skip_tests : t . Optional [ bool ] = None ,
11651166 restate_models : t .Optional [t .Iterable [str ]] = None ,
1166- no_gaps : bool = False ,
1167- skip_backfill : bool = False ,
1168- empty_backfill : bool = False ,
1167+ no_gaps : t . Optional [ bool ] = None ,
1168+ skip_backfill : t . Optional [ bool ] = None ,
1169+ empty_backfill : t . Optional [ bool ] = None ,
11691170 forward_only : t .Optional [bool ] = None ,
11701171 allow_destructive_models : t .Optional [t .Collection [str ]] = None ,
11711172 no_prompts : t .Optional [bool ] = None ,
@@ -1178,9 +1179,9 @@ def plan(
11781179 categorizer_config : t .Optional [CategorizerConfig ] = None ,
11791180 enable_preview : t .Optional [bool ] = None ,
11801181 no_diff : t .Optional [bool ] = None ,
1181- run : bool = False ,
1182- diff_rendered : bool = False ,
1183- skip_linter : bool = False ,
1182+ run : t . Optional [ bool ] = None ,
1183+ diff_rendered : t . Optional [ bool ] = None ,
1184+ skip_linter : t . Optional [ bool ] = None ,
11841185 ) -> Plan :
11851186 """Interactively creates a plan.
11861187
@@ -1278,11 +1279,11 @@ def plan_builder(
12781279 end : t .Optional [TimeLike ] = None ,
12791280 execution_time : t .Optional [TimeLike ] = None ,
12801281 create_from : t .Optional [str ] = None ,
1281- skip_tests : bool = False ,
1282+ skip_tests : t . Optional [ bool ] = None ,
12821283 restate_models : t .Optional [t .Iterable [str ]] = None ,
1283- no_gaps : bool = False ,
1284- skip_backfill : bool = False ,
1285- empty_backfill : bool = False ,
1284+ no_gaps : t . Optional [ bool ] = None ,
1285+ skip_backfill : t . Optional [ bool ] = None ,
1286+ empty_backfill : t . Optional [ bool ] = None ,
12861287 forward_only : t .Optional [bool ] = None ,
12871288 allow_destructive_models : t .Optional [t .Collection [str ]] = None ,
12881289 no_auto_categorization : t .Optional [bool ] = None ,
@@ -1292,9 +1293,9 @@ def plan_builder(
12921293 backfill_models : t .Optional [t .Collection [str ]] = None ,
12931294 categorizer_config : t .Optional [CategorizerConfig ] = None ,
12941295 enable_preview : t .Optional [bool ] = None ,
1295- run : bool = False ,
1296- diff_rendered : bool = False ,
1297- skip_linter : bool = False ,
1296+ run : t . Optional [ bool ] = None ,
1297+ diff_rendered : t . Optional [ bool ] = None ,
1298+ skip_linter : t . Optional [ bool ] = None ,
12981299 ) -> PlanBuilder :
12991300 """Creates a plan builder.
13001301
@@ -1335,6 +1336,42 @@ def plan_builder(
13351336 Returns:
13361337 The plan builder.
13371338 """
1339+ kwargs : t .Dict [str , t .Optional [UserProvidedFlags ]] = {
1340+ "start" : start ,
1341+ "end" : end ,
1342+ "execution_time" : execution_time ,
1343+ "create_from" : create_from ,
1344+ "skip_tests" : skip_tests ,
1345+ "restate_models" : list (restate_models ) if restate_models is not None else None ,
1346+ "no_gaps" : no_gaps ,
1347+ "skip_backfill" : skip_backfill ,
1348+ "empty_backfill" : empty_backfill ,
1349+ "forward_only" : forward_only ,
1350+ "allow_destructive_models" : list (allow_destructive_models )
1351+ if allow_destructive_models is not None
1352+ else None ,
1353+ "no_auto_categorization" : no_auto_categorization ,
1354+ "effective_from" : effective_from ,
1355+ "include_unmodified" : include_unmodified ,
1356+ "select_models" : list (select_models ) if select_models is not None else None ,
1357+ "backfill_models" : list (backfill_models ) if backfill_models is not None else None ,
1358+ "enable_preview" : enable_preview ,
1359+ "run" : run ,
1360+ "diff_rendered" : diff_rendered ,
1361+ "skip_linter" : skip_linter ,
1362+ }
1363+ user_provided_flags : t .Dict [str , UserProvidedFlags ] = {
1364+ k : v for k , v in kwargs .items () if v is not None
1365+ }
1366+
1367+ skip_tests = skip_tests or False
1368+ no_gaps = no_gaps or False
1369+ skip_backfill = skip_backfill or False
1370+ empty_backfill = empty_backfill or False
1371+ run = run or False
1372+ diff_rendered = diff_rendered or False
1373+ skip_linter = skip_linter or False
1374+
13381375 environment = environment or self .config .default_target_environment
13391376 environment = Environment .sanitize_name (environment )
13401377 is_dev = environment != c .PROD
@@ -1469,6 +1506,7 @@ def plan_builder(
14691506 engine_schema_differ = self .engine_adapter .SCHEMA_DIFFER ,
14701507 interval_end_per_model = max_interval_end_per_model ,
14711508 console = self .console ,
1509+ user_provided_flags = user_provided_flags ,
14721510 )
14731511
14741512 def apply (
0 commit comments