From 85bc08616e6c886ccc726514b7e23e118837c71e Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Mon, 10 Feb 2025 10:40:34 +0100 Subject: [PATCH] fix(serializer): NaN handling --- langfuse/serializer.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/langfuse/serializer.py b/langfuse/serializer.py index d7dbffb5b..0b4dfd1be 100644 --- a/langfuse/serializer.py +++ b/langfuse/serializer.py @@ -1,6 +1,7 @@ """@private""" import enum +import math from asyncio import Queue from collections.abc import Sequence from dataclasses import asdict, is_dataclass @@ -54,6 +55,9 @@ def default(self, obj: Any): if np is not None and isinstance(obj, np.generic): return obj.item() + if isinstance(obj, float) and math.isnan(obj): + return None + if isinstance(obj, (Exception, KeyboardInterrupt)): return f"{type(obj).__name__}: {str(obj)}"