diff --git a/pyproject.toml b/pyproject.toml index 29adada60..c88335da3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ dependencies = [ "lsst-daf-butler", "lsst-pex-config", "astropy", - "pydantic", + "pydantic <3.0", "networkx", "pyyaml >= 5.1", "numpy >= 1.17", diff --git a/python/lsst/pipe/base/_task_metadata.py b/python/lsst/pipe/base/_task_metadata.py index 67af6a4df..5ec6caca9 100644 --- a/python/lsst/pipe/base/_task_metadata.py +++ b/python/lsst/pipe/base/_task_metadata.py @@ -27,7 +27,11 @@ from collections.abc import Collection, Iterator, Mapping, Sequence from typing import Any, Protocol -from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr +try: + from pydantic.v1 import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr +except ModuleNotFoundError: + from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr # type: ignore + _DEPRECATION_REASON = "Will be removed after v25." _DEPRECATION_VERSION = "v24" diff --git a/python/lsst/pipe/base/graph/quantumNode.py b/python/lsst/pipe/base/graph/quantumNode.py index b5df5d015..14767ae2e 100644 --- a/python/lsst/pipe/base/graph/quantumNode.py +++ b/python/lsst/pipe/base/graph/quantumNode.py @@ -36,7 +36,11 @@ SerializedQuantum, ) from lsst.utils.introspection import find_outside_stacklevel -from pydantic import BaseModel + +try: + from pydantic.v1 import BaseModel +except ModuleNotFoundError: + from pydantic import BaseModel # type: ignore from ..pipeline import TaskDef diff --git a/python/lsst/pipe/base/tests/mocks/_storage_class.py b/python/lsst/pipe/base/tests/mocks/_storage_class.py index fdacfc629..379800c20 100644 --- a/python/lsst/pipe/base/tests/mocks/_storage_class.py +++ b/python/lsst/pipe/base/tests/mocks/_storage_class.py @@ -34,7 +34,10 @@ from collections.abc import Callable, Iterable, Mapping from typing import Any, cast -import pydantic +try: + import pydantic.v1 as pydantic +except ModuleNotFoundError: + import pydantic # type: ignore from lsst.daf.butler import ( DatasetComponent, Formatter, diff --git a/requirements.txt b/requirements.txt index 79d5616fa..1c1d5f118 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ pyyaml >= 5.1 -pydantic < 2 +pydantic < 3.0 numpy >= 1.17 networkx frozendict