From 7831965a6eb8321bfa2ffa4b158cdc3b879a9e95 Mon Sep 17 00:00:00 2001 From: thoffman Date: Thu, 23 May 2024 12:16:24 +0200 Subject: [PATCH 1/6] {bio}[gfbf/2023a] mophosamplers v0.0.11 --- .../morphosamplers-0.0.11-gfbf-2023a.eb | 55 ++++ ...rphosamplers-0.0.11_psygnal-0.9.5_v1.patch | 265 ++++++++++++++++++ .../morphosamplers-0.0.11_req_pydantic2.patch | 129 +++++++++ 3 files changed, 449 insertions(+) create mode 100644 easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb create mode 100644 easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_psygnal-0.9.5_v1.patch create mode 100644 easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_req_pydantic2.patch diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb new file mode 100644 index 000000000000..1ed226da28d4 --- /dev/null +++ b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb @@ -0,0 +1,55 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 +easyblock = 'PythonBundle' + +name = 'morphosamplers' +version = '0.0.11' + +homepage = 'https://github.com/kevinyamauchi/morphosamplers' +description = """ +A library for sampling image data along morphological objects such as splines and surfaces. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('einops', '0.7.0'), + ('pydantic', '2.5.3'), + ('SciPy-bundle', '2023.07') +] + +exts_list = [ + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('psygnal', '0.9.5', { + 'modulename': 'psygnalV1', + 'patches': ['morphosamplers-0.0.11_psygnal-0.9.5_v1.patch'], + 'checksums': [ + {'psygnal-0.9.5.tar.gz': '4956ea6c36a75f7fc457558935b67dd8be2594661b4d08eeb3357d69c509c55f'}, + {'morphosamplers-0.0.11_psygnal-0.9.5_v1.patch': + 'b61f4f40b5ba2c4089290a580d162fe8c72208c68c657d792a64c244337cc878'}, + ], + }), + (name, version, { + 'patches': ['morphosamplers-0.0.11_req_pydantic2.patch'], + 'checksums': [ + {'morphosamplers-0.0.11.tar.gz': '8ac89eb4a10871336613d7be3ad4e2e4fd017dbf551f94b4b43609dc0e4fb77b'}, + {'morphosamplers-0.0.11_req_pydantic2.patch': + 'e442d515a5dd0cc9c191867fe9c76c625eb3c5f7803683ffa40f448124f287eb'}, + ], + }), +] + +local_pysp = '%(installdir)s/lib/python%(pyshortver)s/site-packages/' +postinstallcmds = [ + 'mv %s/psygnal %s/psygnalV1' % (local_pysp, local_pysp), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_psygnal-0.9.5_v1.patch b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_psygnal-0.9.5_v1.patch new file mode 100644 index 000000000000..90022d46a79a --- /dev/null +++ b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_psygnal-0.9.5_v1.patch @@ -0,0 +1,265 @@ +# Thomas Hoffmann, EMBL Heidelberg, stuctures-it@embl.de, 2024/05 +# morphosamplers used pydantic 1, but napari 0.4.19 used pydantic 2 +# enforce using _evented_models_v1 with pydantic.v1 although pydantic2 is loaded. +# In order to avoid conflicts with other modules using psygnal, rename it to psygnalV1. +diff -ru psygnal-0.9.5/pyproject.toml psygnal-0.9.5_rename_and_enforce_pydantic_v1/pyproject.toml +--- psygnal-0.9.5/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/pyproject.toml 2024-05-07 12:16:45.243650060 +0200 +@@ -5,7 +5,7 @@ + + # https://peps.python.org/pep-0621/ + [project] +-name = "psygnal" ++name = "psygnalV1" + description = "Fast python callback/event system modeled after Qt Signals" + readme = "README.md" + requires-python = ">=3.7" +diff -ru psygnal-0.9.5/src/psygnal/containers/_evented_dict.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_dict.py +--- psygnal-0.9.5/src/psygnal/containers/_evented_dict.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_dict.py 2024-05-07 12:22:00.902460253 +0200 +@@ -14,8 +14,8 @@ + Union, + ) + +-from psygnal._group import SignalGroup +-from psygnal._signal import Signal ++from psygnalV1._group import SignalGroup ++from psygnalV1._signal import Signal + + _K = TypeVar("_K") + _V = TypeVar("_V") +diff -ru psygnal-0.9.5/src/psygnal/containers/_evented_list.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_list.py +--- psygnal-0.9.5/src/psygnal/containers/_evented_list.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_list.py 2024-05-07 12:22:00.902460253 +0200 +@@ -25,9 +25,9 @@ + + from typing import Any, Iterable, MutableSequence, TypeVar, Union, cast, overload + +-from psygnal._group import EmissionInfo, SignalGroup +-from psygnal._signal import Signal, SignalInstance +-from psygnal.utils import iter_signal_instances ++from psygnalV1._group import EmissionInfo, SignalGroup ++from psygnalV1._signal import Signal, SignalInstance ++from psygnalV1.utils import iter_signal_instances + + _T = TypeVar("_T") + Index = Union[int, slice] +diff -ru psygnal-0.9.5/src/psygnal/containers/_evented_proxy.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_proxy.py +--- psygnal-0.9.5/src/psygnal/containers/_evented_proxy.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_proxy.py 2024-05-07 12:22:00.902460253 +0200 +@@ -9,8 +9,8 @@ + f"{e}. Please `pip install psygnal[proxy]` to use EventedObjectProxies" + ) from e + +-from psygnal._group import SignalGroup +-from psygnal._signal import Signal ++from psygnalV1._group import SignalGroup ++from psygnalV1._signal import Signal + + T = TypeVar("T") + _UNSET = object() +diff -ru psygnal-0.9.5/src/psygnal/containers/_evented_set.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_set.py +--- psygnal-0.9.5/src/psygnal/containers/_evented_set.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_set.py 2024-05-07 12:22:00.902460253 +0200 +@@ -3,7 +3,7 @@ + from itertools import chain + from typing import TYPE_CHECKING, Any, Iterable, Iterator, MutableSet, TypeVar + +-from psygnal import Signal, SignalGroup ++from psygnalV1 import Signal, SignalGroup + + if TYPE_CHECKING: + from typing_extensions import Final +@@ -211,7 +211,7 @@ + + Examples + -------- +- >>> from psygnal.containers import EventedSet ++ >>> from psygnalV1.containers import EventedSet + >>> + >>> my_set = EventedSet([1, 2, 3]) + >>> my_set.events.items_changed.connect( +diff -ru psygnal-0.9.5/src/psygnal/containers/_selection.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_selection.py +--- psygnal-0.9.5/src/psygnal/containers/_selection.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_selection.py 2024-05-07 12:22:00.903460278 +0200 +@@ -2,7 +2,7 @@ + + from typing import TYPE_CHECKING, Any, Container, TypeVar + +-from psygnal._signal import Signal ++from psygnalV1._signal import Signal + + from ._evented_set import BailType, EventedOrderedSet, SetEvents + +diff -ru psygnal-0.9.5/src/psygnal/_evented_decorator.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_evented_decorator.py +--- psygnal-0.9.5/src/psygnal/_evented_decorator.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_evented_decorator.py 2024-05-07 12:22:00.903460278 +0200 +@@ -10,7 +10,7 @@ + overload, + ) + +-from psygnal._group_descriptor import SignalGroupDescriptor ++from psygnalV1._group_descriptor import SignalGroupDescriptor + + if TYPE_CHECKING: + from typing_extensions import Literal +@@ -109,7 +109,7 @@ + Examples + -------- + ```python +- from psygnal import evented ++ from psygnalV1 import evented + from dataclasses import dataclass + + @evented +diff -ru psygnal-0.9.5/src/psygnal/_evented_model_v1.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_evented_model_v1.py +--- psygnal-0.9.5/src/psygnal/_evented_model_v1.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_evented_model_v1.py 2024-05-07 12:53:04.900944241 +0200 +@@ -30,9 +30,9 @@ + EqOperator = Callable[[Any, Any], bool] + + else: +- import pydantic.main as pydantic_main +- from pydantic import BaseModel, PrivateAttr, utils +- from pydantic.fields import Field, FieldInfo ++ import pydantic.v1.main as pydantic_main ++ from pydantic.v1 import BaseModel, PrivateAttr, utils ++ from pydantic.v1.fields import Field, FieldInfo + + def dataclass_transform(*args, **kwargs): + return lambda a: a +diff -ru psygnal-0.9.5/src/psygnal/_group_descriptor.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_group_descriptor.py +--- psygnal-0.9.5/src/psygnal/_group_descriptor.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_group_descriptor.py 2024-05-07 12:22:00.903460278 +0200 +@@ -163,7 +163,7 @@ + Examples + -------- + ```python +- from psygnal import evented, get_evented_namespace, is_evented ++ from psygnalV1 import evented, get_evented_namespace, is_evented + + @evented(events_namespace="my_events") + class Foo: +@@ -283,8 +283,8 @@ + an event. Or you can use `evented_setattr` yourself + + ```python +- from psygnal._group_descriptor import evented_setattr +- from psygnal import SignalGroupDescriptor ++ from psygnalV1._group_descriptor import evented_setattr ++ from psygnalV1 import SignalGroupDescriptor + from dataclasses import dataclass + from typing import ClassVar + +@@ -333,7 +333,7 @@ + ```python + from typing import ClassVar + from dataclasses import dataclass +- from psygnal import SignalGroupDescriptor ++ from psygnalV1 import SignalGroupDescriptor + + @dataclass + class Person: +diff -ru psygnal-0.9.5/src/psygnal/_group.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_group.py +--- psygnal-0.9.5/src/psygnal/_group.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_group.py 2024-05-07 12:22:00.903460278 +0200 +@@ -21,7 +21,7 @@ + + from mypy_extensions import mypyc_attr + +-from psygnal._signal import Signal, SignalInstance, _SignalBlocker ++from psygnalV1._signal import Signal, SignalInstance, _SignalBlocker + + __all__ = ["EmissionInfo", "SignalGroup"] + +diff -ru psygnal-0.9.5/src/psygnal/__init__.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/__init__.py +--- psygnal-0.9.5/src/psygnal/__init__.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/__init__.py 2024-05-07 12:20:52.304759479 +0200 +@@ -6,7 +6,7 @@ + import os + from typing import TYPE_CHECKING, Any + +-if TYPE_CHECKING: ++if TYPE_CHECKING or True: + PackageNotFoundError = Exception + from ._evented_model_v1 import EventedModel # noqa: TCH004 + +@@ -22,7 +22,7 @@ + + + try: +- __version__ = version("psygnal") ++ __version__ = version("psygnalV1") + except PackageNotFoundError: # pragma: no cover + __version__ = "0.0.0" + __author__ = "Talley Lambert" +@@ -73,12 +73,9 @@ + + def __getattr__(name: str) -> Any: + if name == "EventedModel": +- import pydantic.version ++ import pydantic.v1.version + +- if pydantic.version.VERSION.startswith("2"): +- from ._evented_model_v2 import EventedModel +- else: +- from ._evented_model_v1 import EventedModel # type: ignore ++ from ._evented_model_v1 import EventedModel # type: ignore + + return EventedModel + raise AttributeError( # pragma: no cover +diff -ru psygnal-0.9.5/src/psygnal/_signal.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_signal.py +--- psygnal-0.9.5/src/psygnal/_signal.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_signal.py 2024-05-07 12:22:00.904460303 +0200 +@@ -59,7 +59,7 @@ + provided in the constructor: + + ```python +- from psygnal import Signal ++ from psygnalV1 import Signal + + class MyEmitter: + changed = Signal(int) +@@ -207,7 +207,7 @@ + Examples + -------- + ```python +- from psygnal import Signal ++ from psygnalV1 import Signal + + def my_callback(): + source = Signal.current_emitter() +diff -ru psygnal-0.9.5/src/psygnal/_throttler.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_throttler.py +--- psygnal-0.9.5/src/psygnal/_throttler.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_throttler.py 2024-05-07 12:22:00.904460303 +0200 +@@ -181,7 +181,7 @@ + Examples + -------- + ```python +- from psygnal import Signal, throttled ++ from psygnalV1 import Signal, throttled + + class MyEmitter: + changed = Signal(int) +@@ -237,7 +237,7 @@ + Examples + -------- + ```python +- from psygnal import Signal, debounced ++ from psygnalV1 import Signal, debounced + + class MyEmitter: + changed = Signal(int) +diff -ru psygnal-0.9.5/src/psygnal/_weak_callback.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_weak_callback.py +--- psygnal-0.9.5/src/psygnal/_weak_callback.py 2020-02-02 01:00:00.000000000 +0100 ++++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_weak_callback.py 2024-05-07 12:22:00.904460303 +0200 +@@ -82,7 +82,7 @@ + Examples + -------- + ```python +- from psygnal._weak_callback import weak_callback ++ from psygnalV1._weak_callback import weak_callback + + class T: + def greet(self, name): +Only in psygnal-0.9.5_rename_and_enforce_pydantic_v1/src: psygnalV1 diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_req_pydantic2.patch b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_req_pydantic2.patch new file mode 100644 index 000000000000..01ddae194bf5 --- /dev/null +++ b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_req_pydantic2.patch @@ -0,0 +1,129 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +# morphosamplers requirement of pydantic <2 clashes whith napari's requirement. +# change pydantic requirement from version < 2 to >=2 +# Accordingly, transform any imports to pydantic.v1 +# Import psygnalV1 instead of psygnal. PsygnalV1 has a patch to enforce using +# pydantic.v1 eventhough V2 is loaded. +diff -ru morphosamplers-0.0.10/PKG-INFO morphosamplers-0.0.10_bump_pydantic2/PKG-INFO +--- morphosamplers-0.0.10/PKG-INFO 2023-11-27 16:48:35.350763000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/PKG-INFO 2024-02-29 11:12:14.621599361 +0100 +@@ -19,7 +19,7 @@ + Requires-Dist: einops + Requires-Dist: numpy +-Requires-Dist: psygnal ++Requires-Dist: psygnalV1 +-Requires-Dist: pydantic<2 ++Requires-Dist: pydantic>=2 + Requires-Dist: scipy + Requires-Dist: typing-extensions + Provides-Extra: test +diff -ru morphosamplers-0.0.10/pyproject.toml morphosamplers-0.0.10_bump_pydantic2/pyproject.toml +--- morphosamplers-0.0.10/pyproject.toml 2023-11-27 16:48:18.000000000 +0100 ++++ morphosamplers-0.0.10_bump_pydantic2/pyproject.toml 2024-02-29 11:12:06.188358266 +0100 +@@ -27,7 +27,7 @@ + "einops", + "numpy", +- "psygnal", ++ "psygnalV1", +- "pydantic<2", ++ "pydantic>=2", + "scipy", + "typing-extensions" + ] +diff -ru morphosamplers-0.0.11/src/morphosamplers/core.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/core.py +--- morphosamplers-0.0.11/src/morphosamplers/core.py 2024-03-06 16:12:51.000000000 +0100 ++++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/core.py 2024-05-07 10:53:55.475563518 +0200 +@@ -1,7 +1,7 @@ + from abc import abstractmethod + from typing import TypeVar, Protocol, Generic + +-from pydantic.generics import GenericModel ++from pydantic.v1.generics import GenericModel + + M = TypeVar("M", bound="MorphoModel") + S = TypeVar("S") +diff -ru morphosamplers-0.0.11/src/morphosamplers/models/path.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/path.py +--- morphosamplers-0.0.11/src/morphosamplers/models/path.py 2024-03-06 16:12:51.000000000 +0100 ++++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/path.py 2024-05-07 10:53:55.475563518 +0200 +@@ -1,5 +1,5 @@ + import numpy as np +-from pydantic import validator ++from pydantic.v1 import validator + + from morphosamplers.core import MorphoModel + +diff -ru morphosamplers-0.0.11/src/morphosamplers/models/sphere.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/sphere.py +--- morphosamplers-0.0.11/src/morphosamplers/models/sphere.py 2024-03-06 16:12:51.000000000 +0100 ++++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/sphere.py 2024-05-07 10:53:55.475563518 +0200 +@@ -1,6 +1,6 @@ + from typing import Tuple + +-from pydantic import validator ++from pydantic.v1 import validator + + from morphosamplers.core import MorphoModel + +diff -ru morphosamplers-0.0.11/src/morphosamplers/models/surface.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/surface.py +--- morphosamplers-0.0.11/src/morphosamplers/models/surface.py 2024-03-06 16:12:51.000000000 +0100 ++++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/surface.py 2024-05-07 10:53:55.475563518 +0200 +@@ -1,7 +1,7 @@ + from typing import List + + import numpy as np +-from pydantic import validator ++from pydantic.v1 import validator + + from morphosamplers.core import MorphoModel + +diff -ru morphosamplers-0.0.11/src/morphosamplers/sample_types.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/sample_types.py +--- morphosamplers-0.0.11/src/morphosamplers/sample_types.py 2024-03-06 16:12:51.000000000 +0100 ++++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/sample_types.py 2024-05-07 10:53:55.475563518 +0200 +@@ -1,5 +1,5 @@ + import numpy as np +-from pydantic import BaseModel, root_validator, validator ++from pydantic.v1 import BaseModel, root_validator, validator + from typing import Union + from typing_extensions import TypeAlias + +diff -ru morphosamplers-0.0.11/src/morphosamplers/spline.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/spline.py +--- morphosamplers-0.0.11/src/morphosamplers/spline.py 2024-03-06 16:12:51.000000000 +0100 ++++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/spline.py 2024-05-07 11:44:19.497952138 +0200 +@@ -4,8 +4,8 @@ + from typing import Any, Dict, List, Optional, Tuple, Union + + import numpy as np +-from psygnal import EventedModel +-from pydantic import PrivateAttr, conint, root_validator, validator ++from psygnalV1 import EventedModel ++from pydantic.v1 import PrivateAttr, conint, root_validator, validator + from scipy.interpolate import splev, splprep + from scipy.spatial.transform import Rotation, Slerp + +diff -ru morphosamplers-0.0.11/src/morphosamplers/surface_spline.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/surface_spline.py +--- morphosamplers-0.0.11/src/morphosamplers/surface_spline.py 2024-03-06 16:12:51.000000000 +0100 ++++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/surface_spline.py 2024-05-07 11:44:34.138220384 +0200 +@@ -5,8 +5,8 @@ + + import einops + import numpy as np +-from psygnal import EventedModel +-from pydantic import PrivateAttr, conint, root_validator, validator ++from psygnalV1 import EventedModel ++from pydantic.v1 import PrivateAttr, conint, root_validator, validator + from scipy.interpolate import splev, splprep, interp1d + from scipy.spatial.transform import Rotation + +Only in morphosamplers-0.0.11_pydanticV2/src/morphosamplers: .surface_spline.py.swp +diff -ru morphosamplers-0.0.11/tests/test_spline_model.py morphosamplers-0.0.11_pydanticV2/tests/test_spline_model.py +--- morphosamplers-0.0.11/tests/test_spline_model.py 2024-03-06 16:12:51.000000000 +0100 ++++ morphosamplers-0.0.11_pydanticV2/tests/test_spline_model.py 2024-05-07 10:53:55.474563492 +0200 +@@ -2,7 +2,7 @@ + + import numpy as np + import pytest +-from pydantic import ValidationError ++from pydantic.v1 import ValidationError + + from morphosamplers.spline import NDimensionalSpline, Spline3D + +Only in morphosamplers-0.0.11_pydanticV2: v2.patch From a9d181fc5211af4e8cb2346751b6af280e41954b Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Tue, 17 Jun 2025 11:01:38 +0200 Subject: [PATCH 2/6] Update morphosamplers-0.0.11-gfbf-2023a.eb --- .../m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb index 1ed226da28d4..fc84ab07d1d3 100644 --- a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb +++ b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb @@ -2,7 +2,7 @@ easyblock = 'PythonBundle' name = 'morphosamplers' -version = '0.0.11' +version = '0.0.16' homepage = 'https://github.com/kevinyamauchi/morphosamplers' description = """ From 53bbc3a2ceef9f4352b843e0fbeb4f47320f63c3 Mon Sep 17 00:00:00 2001 From: thoffman Date: Tue, 17 Jun 2025 11:05:54 +0200 Subject: [PATCH 3/6] update 0.0.16 --- .../morphosamplers-0.0.16-gfbf-2023a.eb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.16-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.16-gfbf-2023a.eb b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.16-gfbf-2023a.eb new file mode 100644 index 000000000000..b6dcc15c9b11 --- /dev/null +++ b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.16-gfbf-2023a.eb @@ -0,0 +1,39 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2025/05 +easyblock = 'PythonBundle' + +name = 'morphosamplers' +version = '0.0.16' + +homepage = 'https://github.com/kevinyamauchi/morphosamplers' +description = """ +A library for sampling image data along morphological objects such as splines and surfaces. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('einops', '0.7.0'), + ('pydantic', '2.5.3'), + ('SciPy-bundle', '2023.07') +] + +exts_list = [ + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('psygnal', '0.9.5', { + 'checksums': ['4956ea6c36a75f7fc457558935b67dd8be2594661b4d08eeb3357d69c509c55f'], + }), + ('pydantic_compat', '0.1.2', { + 'checksums': ['c5c5bca39ca2d22cad00c02898e400e1920e5127649a8e860637f15566739373'], + }), + (name, version, { + 'checksums': ['82097605e42f2129445ef4ac2235430ac10d1ec6dced918bfacc58d913377f58'], + }), +] + +moduleclass = 'lib' From 769be82a300264ff4edde63d8ab0a67e1c03d8ef Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Tue, 17 Jun 2025 11:06:29 +0200 Subject: [PATCH 4/6] Delete easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb --- .../morphosamplers-0.0.11-gfbf-2023a.eb | 55 ------------------- 1 file changed, 55 deletions(-) delete mode 100644 easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb deleted file mode 100644 index fc84ab07d1d3..000000000000 --- a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11-gfbf-2023a.eb +++ /dev/null @@ -1,55 +0,0 @@ -# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 -easyblock = 'PythonBundle' - -name = 'morphosamplers' -version = '0.0.16' - -homepage = 'https://github.com/kevinyamauchi/morphosamplers' -description = """ -A library for sampling image data along morphological objects such as splines and surfaces. -""" - -toolchain = {'name': 'gfbf', 'version': '2023a'} - -builddependencies = [ - ('poetry', '1.5.1'), -] -dependencies = [ - ('Python', '3.11.3'), - ('einops', '0.7.0'), - ('pydantic', '2.5.3'), - ('SciPy-bundle', '2023.07') -] - -exts_list = [ - ('mypy_extensions', '1.0.0', { - 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], - }), - ('psygnal', '0.9.5', { - 'modulename': 'psygnalV1', - 'patches': ['morphosamplers-0.0.11_psygnal-0.9.5_v1.patch'], - 'checksums': [ - {'psygnal-0.9.5.tar.gz': '4956ea6c36a75f7fc457558935b67dd8be2594661b4d08eeb3357d69c509c55f'}, - {'morphosamplers-0.0.11_psygnal-0.9.5_v1.patch': - 'b61f4f40b5ba2c4089290a580d162fe8c72208c68c657d792a64c244337cc878'}, - ], - }), - (name, version, { - 'patches': ['morphosamplers-0.0.11_req_pydantic2.patch'], - 'checksums': [ - {'morphosamplers-0.0.11.tar.gz': '8ac89eb4a10871336613d7be3ad4e2e4fd017dbf551f94b4b43609dc0e4fb77b'}, - {'morphosamplers-0.0.11_req_pydantic2.patch': - 'e442d515a5dd0cc9c191867fe9c76c625eb3c5f7803683ffa40f448124f287eb'}, - ], - }), -] - -local_pysp = '%(installdir)s/lib/python%(pyshortver)s/site-packages/' -postinstallcmds = [ - 'mv %s/psygnal %s/psygnalV1' % (local_pysp, local_pysp), -] - -use_pip = True -sanity_pip_check = True - -moduleclass = 'lib' From 0ec1e0f8187de5b1dc9ee1a2d3f76aa57259b959 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Tue, 17 Jun 2025 11:06:58 +0200 Subject: [PATCH 5/6] Delete easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_req_pydantic2.patch --- .../morphosamplers-0.0.11_req_pydantic2.patch | 129 ------------------ 1 file changed, 129 deletions(-) delete mode 100644 easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_req_pydantic2.patch diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_req_pydantic2.patch b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_req_pydantic2.patch deleted file mode 100644 index 01ddae194bf5..000000000000 --- a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_req_pydantic2.patch +++ /dev/null @@ -1,129 +0,0 @@ -# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 -# morphosamplers requirement of pydantic <2 clashes whith napari's requirement. -# change pydantic requirement from version < 2 to >=2 -# Accordingly, transform any imports to pydantic.v1 -# Import psygnalV1 instead of psygnal. PsygnalV1 has a patch to enforce using -# pydantic.v1 eventhough V2 is loaded. -diff -ru morphosamplers-0.0.10/PKG-INFO morphosamplers-0.0.10_bump_pydantic2/PKG-INFO ---- morphosamplers-0.0.10/PKG-INFO 2023-11-27 16:48:35.350763000 +0100 -+++ morphosamplers-0.0.10_bump_pydantic2/PKG-INFO 2024-02-29 11:12:14.621599361 +0100 -@@ -19,7 +19,7 @@ - Requires-Dist: einops - Requires-Dist: numpy --Requires-Dist: psygnal -+Requires-Dist: psygnalV1 --Requires-Dist: pydantic<2 -+Requires-Dist: pydantic>=2 - Requires-Dist: scipy - Requires-Dist: typing-extensions - Provides-Extra: test -diff -ru morphosamplers-0.0.10/pyproject.toml morphosamplers-0.0.10_bump_pydantic2/pyproject.toml ---- morphosamplers-0.0.10/pyproject.toml 2023-11-27 16:48:18.000000000 +0100 -+++ morphosamplers-0.0.10_bump_pydantic2/pyproject.toml 2024-02-29 11:12:06.188358266 +0100 -@@ -27,7 +27,7 @@ - "einops", - "numpy", -- "psygnal", -+ "psygnalV1", -- "pydantic<2", -+ "pydantic>=2", - "scipy", - "typing-extensions" - ] -diff -ru morphosamplers-0.0.11/src/morphosamplers/core.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/core.py ---- morphosamplers-0.0.11/src/morphosamplers/core.py 2024-03-06 16:12:51.000000000 +0100 -+++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/core.py 2024-05-07 10:53:55.475563518 +0200 -@@ -1,7 +1,7 @@ - from abc import abstractmethod - from typing import TypeVar, Protocol, Generic - --from pydantic.generics import GenericModel -+from pydantic.v1.generics import GenericModel - - M = TypeVar("M", bound="MorphoModel") - S = TypeVar("S") -diff -ru morphosamplers-0.0.11/src/morphosamplers/models/path.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/path.py ---- morphosamplers-0.0.11/src/morphosamplers/models/path.py 2024-03-06 16:12:51.000000000 +0100 -+++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/path.py 2024-05-07 10:53:55.475563518 +0200 -@@ -1,5 +1,5 @@ - import numpy as np --from pydantic import validator -+from pydantic.v1 import validator - - from morphosamplers.core import MorphoModel - -diff -ru morphosamplers-0.0.11/src/morphosamplers/models/sphere.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/sphere.py ---- morphosamplers-0.0.11/src/morphosamplers/models/sphere.py 2024-03-06 16:12:51.000000000 +0100 -+++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/sphere.py 2024-05-07 10:53:55.475563518 +0200 -@@ -1,6 +1,6 @@ - from typing import Tuple - --from pydantic import validator -+from pydantic.v1 import validator - - from morphosamplers.core import MorphoModel - -diff -ru morphosamplers-0.0.11/src/morphosamplers/models/surface.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/surface.py ---- morphosamplers-0.0.11/src/morphosamplers/models/surface.py 2024-03-06 16:12:51.000000000 +0100 -+++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/models/surface.py 2024-05-07 10:53:55.475563518 +0200 -@@ -1,7 +1,7 @@ - from typing import List - - import numpy as np --from pydantic import validator -+from pydantic.v1 import validator - - from morphosamplers.core import MorphoModel - -diff -ru morphosamplers-0.0.11/src/morphosamplers/sample_types.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/sample_types.py ---- morphosamplers-0.0.11/src/morphosamplers/sample_types.py 2024-03-06 16:12:51.000000000 +0100 -+++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/sample_types.py 2024-05-07 10:53:55.475563518 +0200 -@@ -1,5 +1,5 @@ - import numpy as np --from pydantic import BaseModel, root_validator, validator -+from pydantic.v1 import BaseModel, root_validator, validator - from typing import Union - from typing_extensions import TypeAlias - -diff -ru morphosamplers-0.0.11/src/morphosamplers/spline.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/spline.py ---- morphosamplers-0.0.11/src/morphosamplers/spline.py 2024-03-06 16:12:51.000000000 +0100 -+++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/spline.py 2024-05-07 11:44:19.497952138 +0200 -@@ -4,8 +4,8 @@ - from typing import Any, Dict, List, Optional, Tuple, Union - - import numpy as np --from psygnal import EventedModel --from pydantic import PrivateAttr, conint, root_validator, validator -+from psygnalV1 import EventedModel -+from pydantic.v1 import PrivateAttr, conint, root_validator, validator - from scipy.interpolate import splev, splprep - from scipy.spatial.transform import Rotation, Slerp - -diff -ru morphosamplers-0.0.11/src/morphosamplers/surface_spline.py morphosamplers-0.0.11_pydanticV2/src/morphosamplers/surface_spline.py ---- morphosamplers-0.0.11/src/morphosamplers/surface_spline.py 2024-03-06 16:12:51.000000000 +0100 -+++ morphosamplers-0.0.11_pydanticV2/src/morphosamplers/surface_spline.py 2024-05-07 11:44:34.138220384 +0200 -@@ -5,8 +5,8 @@ - - import einops - import numpy as np --from psygnal import EventedModel --from pydantic import PrivateAttr, conint, root_validator, validator -+from psygnalV1 import EventedModel -+from pydantic.v1 import PrivateAttr, conint, root_validator, validator - from scipy.interpolate import splev, splprep, interp1d - from scipy.spatial.transform import Rotation - -Only in morphosamplers-0.0.11_pydanticV2/src/morphosamplers: .surface_spline.py.swp -diff -ru morphosamplers-0.0.11/tests/test_spline_model.py morphosamplers-0.0.11_pydanticV2/tests/test_spline_model.py ---- morphosamplers-0.0.11/tests/test_spline_model.py 2024-03-06 16:12:51.000000000 +0100 -+++ morphosamplers-0.0.11_pydanticV2/tests/test_spline_model.py 2024-05-07 10:53:55.474563492 +0200 -@@ -2,7 +2,7 @@ - - import numpy as np - import pytest --from pydantic import ValidationError -+from pydantic.v1 import ValidationError - - from morphosamplers.spline import NDimensionalSpline, Spline3D - -Only in morphosamplers-0.0.11_pydanticV2: v2.patch From 4f76e174d76feca487531c40da54462c3a4765f8 Mon Sep 17 00:00:00 2001 From: Thomas Hoffmann <81254262+ThomasHoffmann77@users.noreply.github.com> Date: Tue, 17 Jun 2025 11:07:16 +0200 Subject: [PATCH 6/6] Delete easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_psygnal-0.9.5_v1.patch --- ...rphosamplers-0.0.11_psygnal-0.9.5_v1.patch | 265 ------------------ 1 file changed, 265 deletions(-) delete mode 100644 easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_psygnal-0.9.5_v1.patch diff --git a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_psygnal-0.9.5_v1.patch b/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_psygnal-0.9.5_v1.patch deleted file mode 100644 index 90022d46a79a..000000000000 --- a/easybuild/easyconfigs/m/morphosamplers/morphosamplers-0.0.11_psygnal-0.9.5_v1.patch +++ /dev/null @@ -1,265 +0,0 @@ -# Thomas Hoffmann, EMBL Heidelberg, stuctures-it@embl.de, 2024/05 -# morphosamplers used pydantic 1, but napari 0.4.19 used pydantic 2 -# enforce using _evented_models_v1 with pydantic.v1 although pydantic2 is loaded. -# In order to avoid conflicts with other modules using psygnal, rename it to psygnalV1. -diff -ru psygnal-0.9.5/pyproject.toml psygnal-0.9.5_rename_and_enforce_pydantic_v1/pyproject.toml ---- psygnal-0.9.5/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/pyproject.toml 2024-05-07 12:16:45.243650060 +0200 -@@ -5,7 +5,7 @@ - - # https://peps.python.org/pep-0621/ - [project] --name = "psygnal" -+name = "psygnalV1" - description = "Fast python callback/event system modeled after Qt Signals" - readme = "README.md" - requires-python = ">=3.7" -diff -ru psygnal-0.9.5/src/psygnal/containers/_evented_dict.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_dict.py ---- psygnal-0.9.5/src/psygnal/containers/_evented_dict.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_dict.py 2024-05-07 12:22:00.902460253 +0200 -@@ -14,8 +14,8 @@ - Union, - ) - --from psygnal._group import SignalGroup --from psygnal._signal import Signal -+from psygnalV1._group import SignalGroup -+from psygnalV1._signal import Signal - - _K = TypeVar("_K") - _V = TypeVar("_V") -diff -ru psygnal-0.9.5/src/psygnal/containers/_evented_list.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_list.py ---- psygnal-0.9.5/src/psygnal/containers/_evented_list.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_list.py 2024-05-07 12:22:00.902460253 +0200 -@@ -25,9 +25,9 @@ - - from typing import Any, Iterable, MutableSequence, TypeVar, Union, cast, overload - --from psygnal._group import EmissionInfo, SignalGroup --from psygnal._signal import Signal, SignalInstance --from psygnal.utils import iter_signal_instances -+from psygnalV1._group import EmissionInfo, SignalGroup -+from psygnalV1._signal import Signal, SignalInstance -+from psygnalV1.utils import iter_signal_instances - - _T = TypeVar("_T") - Index = Union[int, slice] -diff -ru psygnal-0.9.5/src/psygnal/containers/_evented_proxy.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_proxy.py ---- psygnal-0.9.5/src/psygnal/containers/_evented_proxy.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_proxy.py 2024-05-07 12:22:00.902460253 +0200 -@@ -9,8 +9,8 @@ - f"{e}. Please `pip install psygnal[proxy]` to use EventedObjectProxies" - ) from e - --from psygnal._group import SignalGroup --from psygnal._signal import Signal -+from psygnalV1._group import SignalGroup -+from psygnalV1._signal import Signal - - T = TypeVar("T") - _UNSET = object() -diff -ru psygnal-0.9.5/src/psygnal/containers/_evented_set.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_set.py ---- psygnal-0.9.5/src/psygnal/containers/_evented_set.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_evented_set.py 2024-05-07 12:22:00.902460253 +0200 -@@ -3,7 +3,7 @@ - from itertools import chain - from typing import TYPE_CHECKING, Any, Iterable, Iterator, MutableSet, TypeVar - --from psygnal import Signal, SignalGroup -+from psygnalV1 import Signal, SignalGroup - - if TYPE_CHECKING: - from typing_extensions import Final -@@ -211,7 +211,7 @@ - - Examples - -------- -- >>> from psygnal.containers import EventedSet -+ >>> from psygnalV1.containers import EventedSet - >>> - >>> my_set = EventedSet([1, 2, 3]) - >>> my_set.events.items_changed.connect( -diff -ru psygnal-0.9.5/src/psygnal/containers/_selection.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_selection.py ---- psygnal-0.9.5/src/psygnal/containers/_selection.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/containers/_selection.py 2024-05-07 12:22:00.903460278 +0200 -@@ -2,7 +2,7 @@ - - from typing import TYPE_CHECKING, Any, Container, TypeVar - --from psygnal._signal import Signal -+from psygnalV1._signal import Signal - - from ._evented_set import BailType, EventedOrderedSet, SetEvents - -diff -ru psygnal-0.9.5/src/psygnal/_evented_decorator.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_evented_decorator.py ---- psygnal-0.9.5/src/psygnal/_evented_decorator.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_evented_decorator.py 2024-05-07 12:22:00.903460278 +0200 -@@ -10,7 +10,7 @@ - overload, - ) - --from psygnal._group_descriptor import SignalGroupDescriptor -+from psygnalV1._group_descriptor import SignalGroupDescriptor - - if TYPE_CHECKING: - from typing_extensions import Literal -@@ -109,7 +109,7 @@ - Examples - -------- - ```python -- from psygnal import evented -+ from psygnalV1 import evented - from dataclasses import dataclass - - @evented -diff -ru psygnal-0.9.5/src/psygnal/_evented_model_v1.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_evented_model_v1.py ---- psygnal-0.9.5/src/psygnal/_evented_model_v1.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_evented_model_v1.py 2024-05-07 12:53:04.900944241 +0200 -@@ -30,9 +30,9 @@ - EqOperator = Callable[[Any, Any], bool] - - else: -- import pydantic.main as pydantic_main -- from pydantic import BaseModel, PrivateAttr, utils -- from pydantic.fields import Field, FieldInfo -+ import pydantic.v1.main as pydantic_main -+ from pydantic.v1 import BaseModel, PrivateAttr, utils -+ from pydantic.v1.fields import Field, FieldInfo - - def dataclass_transform(*args, **kwargs): - return lambda a: a -diff -ru psygnal-0.9.5/src/psygnal/_group_descriptor.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_group_descriptor.py ---- psygnal-0.9.5/src/psygnal/_group_descriptor.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_group_descriptor.py 2024-05-07 12:22:00.903460278 +0200 -@@ -163,7 +163,7 @@ - Examples - -------- - ```python -- from psygnal import evented, get_evented_namespace, is_evented -+ from psygnalV1 import evented, get_evented_namespace, is_evented - - @evented(events_namespace="my_events") - class Foo: -@@ -283,8 +283,8 @@ - an event. Or you can use `evented_setattr` yourself - - ```python -- from psygnal._group_descriptor import evented_setattr -- from psygnal import SignalGroupDescriptor -+ from psygnalV1._group_descriptor import evented_setattr -+ from psygnalV1 import SignalGroupDescriptor - from dataclasses import dataclass - from typing import ClassVar - -@@ -333,7 +333,7 @@ - ```python - from typing import ClassVar - from dataclasses import dataclass -- from psygnal import SignalGroupDescriptor -+ from psygnalV1 import SignalGroupDescriptor - - @dataclass - class Person: -diff -ru psygnal-0.9.5/src/psygnal/_group.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_group.py ---- psygnal-0.9.5/src/psygnal/_group.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_group.py 2024-05-07 12:22:00.903460278 +0200 -@@ -21,7 +21,7 @@ - - from mypy_extensions import mypyc_attr - --from psygnal._signal import Signal, SignalInstance, _SignalBlocker -+from psygnalV1._signal import Signal, SignalInstance, _SignalBlocker - - __all__ = ["EmissionInfo", "SignalGroup"] - -diff -ru psygnal-0.9.5/src/psygnal/__init__.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/__init__.py ---- psygnal-0.9.5/src/psygnal/__init__.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/__init__.py 2024-05-07 12:20:52.304759479 +0200 -@@ -6,7 +6,7 @@ - import os - from typing import TYPE_CHECKING, Any - --if TYPE_CHECKING: -+if TYPE_CHECKING or True: - PackageNotFoundError = Exception - from ._evented_model_v1 import EventedModel # noqa: TCH004 - -@@ -22,7 +22,7 @@ - - - try: -- __version__ = version("psygnal") -+ __version__ = version("psygnalV1") - except PackageNotFoundError: # pragma: no cover - __version__ = "0.0.0" - __author__ = "Talley Lambert" -@@ -73,12 +73,9 @@ - - def __getattr__(name: str) -> Any: - if name == "EventedModel": -- import pydantic.version -+ import pydantic.v1.version - -- if pydantic.version.VERSION.startswith("2"): -- from ._evented_model_v2 import EventedModel -- else: -- from ._evented_model_v1 import EventedModel # type: ignore -+ from ._evented_model_v1 import EventedModel # type: ignore - - return EventedModel - raise AttributeError( # pragma: no cover -diff -ru psygnal-0.9.5/src/psygnal/_signal.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_signal.py ---- psygnal-0.9.5/src/psygnal/_signal.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_signal.py 2024-05-07 12:22:00.904460303 +0200 -@@ -59,7 +59,7 @@ - provided in the constructor: - - ```python -- from psygnal import Signal -+ from psygnalV1 import Signal - - class MyEmitter: - changed = Signal(int) -@@ -207,7 +207,7 @@ - Examples - -------- - ```python -- from psygnal import Signal -+ from psygnalV1 import Signal - - def my_callback(): - source = Signal.current_emitter() -diff -ru psygnal-0.9.5/src/psygnal/_throttler.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_throttler.py ---- psygnal-0.9.5/src/psygnal/_throttler.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_throttler.py 2024-05-07 12:22:00.904460303 +0200 -@@ -181,7 +181,7 @@ - Examples - -------- - ```python -- from psygnal import Signal, throttled -+ from psygnalV1 import Signal, throttled - - class MyEmitter: - changed = Signal(int) -@@ -237,7 +237,7 @@ - Examples - -------- - ```python -- from psygnal import Signal, debounced -+ from psygnalV1 import Signal, debounced - - class MyEmitter: - changed = Signal(int) -diff -ru psygnal-0.9.5/src/psygnal/_weak_callback.py psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_weak_callback.py ---- psygnal-0.9.5/src/psygnal/_weak_callback.py 2020-02-02 01:00:00.000000000 +0100 -+++ psygnal-0.9.5_rename_and_enforce_pydantic_v1/src/psygnal/_weak_callback.py 2024-05-07 12:22:00.904460303 +0200 -@@ -82,7 +82,7 @@ - Examples - -------- - ```python -- from psygnal._weak_callback import weak_callback -+ from psygnalV1._weak_callback import weak_callback - - class T: - def greet(self, name): -Only in psygnal-0.9.5_rename_and_enforce_pydantic_v1/src: psygnalV1