@@ -250,7 +250,7 @@ def create_warehouse() -> Warehouse:
250
250
251
251
252
252
def create_scan (
253
- scan_yml : ScanYml , soda_server_client : SodaServerClient | None = None
253
+ scan_yml : ScanYml , variables : dict = None , soda_server_client : SodaServerClient | None = None
254
254
) -> Scan :
255
255
"""
256
256
Create a scan object.
@@ -259,6 +259,7 @@ def create_scan(
259
259
----------
260
260
scan_yml : ScanYml
261
261
The scan yml.
262
+ variables: variables to be substituted in scan yml
262
263
soda_server_client : Optional[SodaServerClient] (default : None)
263
264
A soda server client.
264
265
@@ -272,6 +273,7 @@ def create_scan(
272
273
warehouse = warehouse ,
273
274
scan_yml = scan_yml ,
274
275
soda_server_client = soda_server_client ,
276
+ variables = variables ,
275
277
time = dt .datetime .now (tz = dt .timezone .utc ).isoformat (timespec = "seconds" ),
276
278
)
277
279
return scan
@@ -413,6 +415,7 @@ def execute(
413
415
scan_definition : str | Path ,
414
416
df : DataFrame ,
415
417
* ,
418
+ variables : dict | None = None ,
416
419
soda_server_client : SodaServerClient | None = None ,
417
420
as_frames : bool | None = False ,
418
421
) -> ScanResult :
@@ -425,6 +428,8 @@ def execute(
425
428
The path to a scan file or the content of a scan file.
426
429
df: DataFrame
427
430
The data frame to be scanned.
431
+ variables: Optional[dict] (default : None)
432
+ Variables to be substituted in scan yml
428
433
soda_server_client : Optional[SodaServerClient] (default : None)
429
434
A soda server client.
430
435
as_frames : bool (default : False)
@@ -438,7 +443,7 @@ def execute(
438
443
scan_yml = create_scan_yml (scan_definition )
439
444
df .createOrReplaceTempView (scan_yml .table_name )
440
445
441
- scan = create_scan (scan_yml , soda_server_client = soda_server_client )
446
+ scan = create_scan (scan_yml , variables = variables , soda_server_client = soda_server_client )
442
447
scan .execute ()
443
448
444
449
if as_frames :
0 commit comments