From 7a9b25f6f6805347c719b8648f2efd1320692c0d Mon Sep 17 00:00:00 2001 From: Matt Stone Date: Wed, 4 Mar 2026 08:48:18 -0800 Subject: [PATCH] fix: Shallow copy input dict in `_empty_field_to_none` validator Avoid mutating the caller's dict by making a shallow copy before modifying empty Optional fields. Co-Authored-By: Rahul Kaushal --- fgmetric/metric.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fgmetric/metric.py b/fgmetric/metric.py index f06c809..35f5543 100644 --- a/fgmetric/metric.py +++ b/fgmetric/metric.py @@ -82,6 +82,8 @@ def _empty_field_to_none(cls, data: Any) -> Any: # short circuit return data + data = dict(data) + for field, value in data.items(): info = cls.model_fields.get(field) if info is None: