Skip to content

Commit 7f36d3b

Browse files
committed
fix for pydantic<2
1 parent 4af1793 commit 7f36d3b

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
requests>=2.28.0
2-
pydantic>=2.0.0
2+
pydantic>=1.5
33
typer>=0.6.1
44
loguru>=0.6.0

trubrics/integrations/streamlit/collect.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def st_feedback(
9494
else:
9595
if success_fail_message:
9696
st.success("Feedback saved to Trubrics.")
97-
return feedback.model_dump()
97+
return self._pydantic_to_dict(feedback)
9898
else:
9999
user_response = Response(**user_response)
100100
feedback = Feedback(
@@ -106,15 +106,15 @@ def st_feedback(
106106
tags=tags,
107107
metadata=metadata,
108108
)
109-
return feedback.model_dump()
109+
return self._pydantic_to_dict(feedback)
110110
elif feedback_type in ("thumbs", "faces"):
111111

112112
def _log_feedback_trubrics(user_response, **kwargs):
113113
feedback = self.log_feedback(user_response=user_response, **kwargs)
114114
if success_fail_message:
115115
if feedback:
116116
st.toast("Feedback saved to [Trubrics](https://trubrics.streamlit.app/).", icon="✅")
117-
return feedback.model_dump()
117+
return self._pydantic_to_dict(feedback)
118118
else:
119119
st.toast("Error in saving feedback to [Trubrics](https://trubrics.streamlit.app/).", icon="❌")
120120

@@ -145,12 +145,20 @@ def _log_feedback_trubrics(user_response, **kwargs):
145145
tags=tags,
146146
metadata=metadata,
147147
)
148-
return feedback.model_dump()
148+
return self._pydantic_to_dict(feedback)
149149
return user_response
150150
else:
151151
raise ValueError("feedback_type must be one of ['textbox', 'faces', 'thumbs'].")
152152
return None
153153

154+
@staticmethod
155+
def _pydantic_to_dict(feedback: Feedback) -> dict:
156+
"""Support for pydantic v1 and v2."""
157+
try:
158+
return feedback.model_dump()
159+
except AttributeError:
160+
return feedback.dict()
161+
154162
@staticmethod
155163
def st_textbox_ui(key: Optional[str] = None, label: Optional[str] = None) -> Optional[str]:
156164
"""

0 commit comments

Comments
 (0)