@@ -38,7 +38,7 @@ class ServiceXDataset(ServiceXABC):
3838 def __init__ (self ,
3939 dataset : str ,
4040 backend_type : Optional [str ] = None ,
41- image : str = 'sslhep/servicex_func_adl_xaod_transformer:v1.0.0-rc.2' , # NOQA
41+ image : str = None ,
4242 max_workers : int = 20 ,
4343 servicex_adaptor : ServiceXAdaptor = None ,
4444 minio_adaptor : Union [MinioAdaptor , MinioAdaptorFactory ] = None ,
@@ -60,7 +60,9 @@ def __init__(self,
6060 will default to xaod, unless you have any endpoint listed
6161 in your servicex file. It will default to best match there,
6262 in that case.
63- image Name of transformer image to use to transform the data
63+ image Name of transformer image to use to transform the data. If
64+ left as default, `None`, then the default image for the
65+ ServiceX backend will be used.
6466 max_workers Maximum number of transformers to run simultaneously on
6567 ServiceX.
6668 servicex_adaptor Object to control communication with the servicex instance
@@ -83,8 +85,8 @@ def __init__(self,
8385 and `awkward`, including default settings for expected
8486 datatypes from the backend.
8587 ignore_cache Always ignore the cache on any query for this dataset. This
86- is only meaningful if no cache adaptor is provided. Defaults
87- to false - the cache is used if possible.
88+ is only meaningful if no cache adaptor is provided.
89+ Defaults to false - the cache is used if possible.
8890
8991 Notes:
9092
@@ -95,6 +97,8 @@ def __init__(self,
9597 takes `(total_files, transformed, downloaded, skipped)` as an argument. The
9698 `total_files` parameter may be `None` until the system knows how many files need to
9799 be processed (and some files can even be completed before that is known).
100+ - The full description of calling parameters is recorded in the local cache, including
101+ things like `image` name and tag.
98102 '''
99103 ServiceXABC .__init__ (self , dataset , image , max_workers ,
100104 status_callback_factory ,
@@ -414,16 +418,20 @@ def _build_json_query(self, selection_query: str, data_type: str) -> Dict[str, s
414418 Notes:
415419 - Internal routine.
416420 '''
421+ # Items that must always be present
417422 json_query : Dict [str , str ] = {
418423 "did" : self ._dataset ,
419424 "selection" : selection_query ,
420- "image" : self ._image ,
421425 "result-destination" : "object-store" ,
422426 "result-format" : 'parquet' if data_type == 'parquet' else "root-file" ,
423427 "chunk-size" : '1000' ,
424428 "workers" : str (self ._max_workers )
425429 }
426430
431+ # Optional items
432+ if self ._image is not None :
433+ json_query ['image' ] = self ._image
434+
427435 logging .getLogger (__name__ ).debug (f'JSON to be sent to servicex: { str (json_query )} ' )
428436
429437 return json_query
0 commit comments