diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f2237dc7..740071adb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased] +- Remove unused pystac.validation import ([#1583](https://github.com/stac-utils/pystac/pull/1583)) + ## [v1.14.1] - 2025-09-18 ### Fixed diff --git a/pystac/__init__.py b/pystac/__init__.py index 1fbbb8343..dd0ab2109 100644 --- a/pystac/__init__.py +++ b/pystac/__init__.py @@ -86,7 +86,6 @@ from pystac.item_collection import ItemCollection from pystac.provider import ProviderRole, Provider from pystac.utils import HREF -import pystac.validation import pystac.extensions.hooks import pystac.extensions.classification @@ -239,3 +238,18 @@ def read_dict( if stac_io is None: stac_io = StacIO.default() return stac_io.stac_object_from_dict(d, href, root) + + +def __getattr__(name: str) -> Any: + if name == "validation": + import warnings + import pystac.validation + + warnings.warn( + "pystac.validation will not be automatically imported to the package in " + "pystac v2.0. Instead, import it directly: `import pystac.validation`", + DeprecationWarning, + stacklevel=2, + ) + return pystac.validation + raise AttributeError(f"module '{__name__}' has no attribute '{name}'")