Skip to content

Commit 356cf89

Browse files
committed
overwrite to_dict on ValidatorReference
1 parent 7e6bf48 commit 356cf89

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

guardrails/classes/validation/validator_reference.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
from typing import Any, Dict
12
from guardrails_api_client import ValidatorReference as IValidatorReference
23

4+
from guardrails.utils.serialization_utils import serialize
5+
36

47
# Docs only
58
class ValidatorReference(IValidatorReference):
@@ -17,3 +20,15 @@ class ValidatorReference(IValidatorReference):
1720
args (Optional[List[Any]]): Positional arguments. Default None.
1821
kwargs (Optional[Dict[str, Any]]): Keyword arguments. Default None.
1922
"""
23+
24+
def to_dict(self) -> Dict[str, Any]:
25+
ref_dict = super().to_dict()
26+
27+
# serialize args and kwargs
28+
if self.args:
29+
ref_dict["args"] = [serialize(a) for a in self.args]
30+
31+
if self.kwargs:
32+
ref_dict["kwargs"] = {k: serialize(v) for k, v in self.kwargs.items()}
33+
34+
return ref_dict

guardrails/guard.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
from guardrails_api_client import (
2424
Guard as IGuard,
25-
ValidatorReference,
2625
ValidatePayload,
2726
SimpleTypes,
2827
ValidationOutcome as IValidationOutcome,
@@ -36,6 +35,7 @@
3635
from guardrails.classes.rc import RC
3736
from guardrails.classes.validation.validation_result import ErrorSpan
3837
from guardrails.classes.validation.validation_summary import ValidationSummary
38+
from guardrails.classes.validation.validator_reference import ValidatorReference
3939
from guardrails.classes.validation_outcome import ValidationOutcome
4040
from guardrails.classes.execution import GuardExecutionOptions
4141
from guardrails.classes.generic import Stack

0 commit comments

Comments
 (0)