File support-pydantic-211.patch of Package python-psygnal

From e26b74711c598d383112c3450e044d6389fd8be8 Mon Sep 17 00:00:00 2001
From: Steve Kowalik <steven@wedontsleep.org>
Date: Wed, 30 Apr 2025 14:53:55 +1000
Subject: [PATCH] Don't use deprecated model_fields access

Pydantic 2.11 has deprecated accessing model_fields from instances of
the model class, instead requiring callers to use the class itself.

Fixes #356
---
 src/psygnal/_evented_model.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/psygnal/_evented_model.py b/src/psygnal/_evented_model.py
index 31f90f98..c1cf1c57 100644
--- a/src/psygnal/_evented_model.py
+++ b/src/psygnal/_evented_model.py
@@ -111,7 +111,7 @@ def _get_defaults(
     ) -> dict[str, Any]:
         """Get possibly nested default values for a Model object."""
         dflt = {}
-        for k, v in obj.model_fields.items():
+        for k, v in type(obj).model_fields.items():
             d = v.get_default()
             if (
                 d is None
@@ -547,7 +547,7 @@ def update(self, values: Union["EventedModel", dict], recurse: bool = True) -> N
     def reset(self) -> None:
         """Reset the state of the model to default values."""
         model_config = _get_config(self)
-        model_fields = _get_fields(self)
+        model_fields = _get_fields(type(self))
         for name, value in self._defaults.items():
             if isinstance(value, EventedModel):
                 cast("EventedModel", getattr(self, name)).reset()
openSUSE Build Service is sponsored by