File tree Expand file tree Collapse file tree 2 files changed +24
-1
lines changed Expand file tree Collapse file tree 2 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -382,3 +382,20 @@ def test_EvaluationResponse():
382
382
created_at = datetime .now (),
383
383
meta = {},
384
384
)
385
+
386
+ # test validation for meta
387
+ er = schemas .EvaluationResponse (
388
+ id = 1 ,
389
+ dataset_names = ["ds" ],
390
+ model_name = "test" ,
391
+ filters = schemas .Filter (),
392
+ parameters = schemas .EvaluationParameters (
393
+ task_type = enums .TaskType .CLASSIFICATION ,
394
+ ),
395
+ status = enums .EvaluationStatus .DONE ,
396
+ metrics = [],
397
+ confusion_matrices = [],
398
+ created_at = datetime .now (),
399
+ meta = None ,
400
+ )
401
+ assert er .meta == {}
Original file line number Diff line number Diff line change @@ -276,7 +276,7 @@ class EvaluationResponse(BaseModel):
276
276
parameters : EvaluationParameters
277
277
status : EvaluationStatus
278
278
created_at : datetime .datetime
279
- meta : dict [str , str | int | float ] | None
279
+ meta : dict [str , str | int | float ] | None = {}
280
280
metrics : list [Metric ] | None = None
281
281
confusion_matrices : list [ConfusionMatrixResponse ] | None = None
282
282
ignored_pred_labels : list [Label ] | None = None
@@ -286,3 +286,9 @@ class EvaluationResponse(BaseModel):
286
286
model_config = ConfigDict (
287
287
extra = "allow" , protected_namespaces = ("protected_" ,)
288
288
)
289
+
290
+ # make sure that `meta` is a dictionary
291
+ @field_validator ("meta" )
292
+ @classmethod
293
+ def null_to_empty_dict (cls , v ):
294
+ return v or {}
You can’t perform that action at this time.
0 commit comments