@@ -82,8 +82,8 @@ def __lt__(self, other: object) -> bool:
8282class STACVersionRange :
8383 """Defines a range of STAC versions."""
8484
85- min_version : STACVersionID
86- max_version : STACVersionID
85+ _min_version : STACVersionID
86+ _max_version : STACVersionID
8787
8888 def __init__ (
8989 self ,
@@ -103,21 +103,45 @@ def __init__(
103103 else :
104104 self .max_version = max_version
105105
106- def set_min (self , v : STACVersionID ) -> None :
106+ @property
107+ def min_version (self ) -> STACVersionID :
108+ return self ._min_version
109+
110+ @min_version .setter
111+ def min_version (self , v : str | STACVersionID ) -> None :
112+ if isinstance (v , str ):
113+ v = STACVersionID (v )
114+ self ._min_version = v
115+
116+ @property
117+ def max_version (self ) -> STACVersionID :
118+ return self ._max_version
119+
120+ @max_version .setter
121+ def max_version (self , v : str | STACVersionID ) -> None :
122+ if isinstance (v , str ):
123+ v = STACVersionID (v )
124+ self ._max_version = v
125+
126+ def set_min (self , v : str | STACVersionID ) -> None :
127+ if isinstance (v , str ):
128+ v = STACVersionID (v )
107129 if self .min_version < v :
108130 if v < self .max_version :
109131 self .min_version = v
110132 else :
111133 self .min_version = self .max_version
112134
113- def set_max (self , v : STACVersionID ) -> None :
135+ def set_max (self , v : str | STACVersionID ) -> None :
136+ if isinstance (v , str ):
137+ v = STACVersionID (v )
114138 if v < self .max_version :
115139 if self .min_version < v :
116140 self .max_version = v
117141 else :
118142 self .max_version = self .min_version
119143
120- def set_to_single (self , v : STACVersionID ) -> None :
144+ def set_to_single (self , v : str | STACVersionID ) -> None :
121145 self .set_min (v )
122146 self .set_max (v )
123147
@@ -263,12 +287,12 @@ def identify_stac_object(json_dict: dict[str, Any]) -> STACJSONDescription:
263287 stac_extensions = json_dict .get ("stac_extensions" , None )
264288
265289 if stac_version is None :
266- version_range .set_min (STACVersionID ( "0.8.0" ) )
290+ version_range .set_min ("0.8.0" )
267291 else :
268292 version_range .set_to_single (stac_version )
269293
270294 if stac_extensions is not None :
271- version_range .set_min (STACVersionID ( "0.8.0" ) )
295+ version_range .set_min ("0.8.0" )
272296
273297 if stac_extensions is None :
274298 stac_extensions = []
0 commit comments