Skip to content

Commit 14ad6cd

Browse files
committed
address comments
Signed-off-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com>
1 parent 301f61e commit 14ad6cd

3 files changed

Lines changed: 28 additions & 7 deletions

File tree

protos/feast/core/Registry.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import "feast/core/SavedDataset.proto";
3333
import "feast/core/ValidationProfile.proto";
3434
import "google/protobuf/timestamp.proto";
3535

36-
// Next id: 13
36+
// Next id: 14
3737
message Registry {
3838
repeated Entity entities = 1;
3939
repeated FeatureTable feature_tables = 2;

protos/feast/core/ValidationProfile.proto

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,18 @@ message ValidationReference {
4545
string reference_dataset_name = 2;
4646
// Name of Feast project that this object source belongs to
4747
string project = 3;
48+
// Description of the validation reference
49+
string description = 4;
50+
// User defined metadata
51+
map<string,string> tags = 5;
4852

4953
// validation profiler
5054
oneof profiler {
51-
GEValidationProfiler ge_profiler = 4;
55+
GEValidationProfiler ge_profiler = 6;
5256
}
5357

5458
// (optional) cached validation profile (to avoid constant recalculation)
5559
oneof cached_profile {
56-
GEValidationProfile ge_profile = 5;
60+
GEValidationProfile ge_profile = 7;
5761
}
5862
}

sdk/python/feast/saved_dataset.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -218,12 +218,21 @@ def get_profile(self, profiler: Profiler) -> Profile:
218218
class 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

Comments
 (0)