@@ -218,12 +218,21 @@ def get_profile(self, profiler: Profiler) -> Profile:
218218class ValidationReference :
219219 name : str
220220 dataset_name : str
221+ description : str
222+ tags : Dict [str , str ]
221223 profiler : Profiler
222224
223225 _profile : Optional [Profile ] = None
224226 _dataset : Optional [SavedDataset ] = None
225227
226- def __init__ (self , name : str , dataset_name : str , profiler : Profiler ):
228+ def __init__ (
229+ self ,
230+ name : str ,
231+ dataset_name : str ,
232+ profiler : Profiler ,
233+ description : str = "" ,
234+ tags : Optional [Dict [str , str ]] = None ,
235+ ):
227236 """
228237 Validation reference combines a reference dataset (currently only a saved dataset object can be used as
229238 a reference) and a profiler function to generate a validation profile.
@@ -234,13 +243,17 @@ def __init__(self, name: str, dataset_name: str, profiler: Profiler):
234243 must be unique within one project.
235244
236245 Args:
237- name: unique name
238- dataset_name: name of a saved dataset
239- profiler: profiler function used to generate profile from a saved dataset
246+ name: the unique name for validation reference
247+ dataset_name: the name of the saved dataset used as a reference
248+ description: a human-readable description
249+ tags: a dictionary of key-value pairs to store arbitrary metadata
250+ profiler: the profiler function used to generate profile from the saved dataset
240251 """
241252 self .name = name
242253 self .dataset_name = dataset_name
243254 self .profiler = profiler
255+ self .description = description
256+ self .tags = tags or {}
244257
245258 @classmethod
246259 def from_saved_dataset (cls , name : str , dataset : SavedDataset , profiler : Profiler ):
@@ -289,6 +302,8 @@ def from_proto(cls, proto: ValidationReferenceProto) -> "ValidationReference":
289302 name = proto .name ,
290303 dataset_name = proto .reference_dataset_name ,
291304 profiler = profiler ,
305+ description = proto .description ,
306+ tags = dict (proto .tags ),
292307 )
293308 ref ._profile = profile
294309
@@ -300,6 +315,8 @@ def to_proto(self) -> ValidationReferenceProto:
300315 proto = ValidationReferenceProto (
301316 name = self .name ,
302317 reference_dataset_name = self .dataset_name ,
318+ tags = self .tags ,
319+ description = self .description ,
303320 ge_profiler = self .profiler .to_proto ()
304321 if isinstance (self .profiler , GEProfiler )
305322 else None ,
0 commit comments