|  | 
| 26 | 26 | from pystac.summaries import RangeSummary | 
| 27 | 27 | from pystac.utils import StringEnum, datetime_to_str, map_opt, str_to_datetime | 
| 28 | 28 | 
 | 
| 29 |  | -T = TypeVar("T", pystac.Item, pystac.Asset, item_assets.AssetDefinition) | 
|  | 29 | +T = TypeVar( | 
|  | 30 | +    "T", | 
|  | 31 | +    pystac.Item, | 
|  | 32 | +    pystac.Asset, | 
|  | 33 | +    item_assets.AssetDefinition, | 
|  | 34 | +    pystac.ItemAssetDefinition, | 
|  | 35 | +) | 
| 30 | 36 | 
 | 
| 31 | 37 | SCHEMA_URI: str = "https://stac-extensions.github.io/processing/v1.2.0/schema.json" | 
| 32 | 38 | SCHEMA_URIS: list[str] = [ | 
| @@ -298,7 +304,7 @@ def get_schema_uri(cls) -> str: | 
| 298 | 304 |     def ext(cls, obj: T, add_if_missing: bool = False) -> ProcessingExtension[T]: | 
| 299 | 305 |         if isinstance(obj, pystac.Item): | 
| 300 | 306 |             cls.ensure_has_extension(obj, add_if_missing) | 
| 301 |  | -            return cast(ProcessingExtension, ItemProcessingExtension(obj)) | 
|  | 307 | +            return cast(ProcessingExtension[pystac.Item], ItemProcessingExtension(obj)) | 
| 302 | 308 |         else: | 
| 303 | 309 |             raise pystac.ExtensionTypeError(cls._ext_error_message(obj)) | 
| 304 | 310 | 
 | 
| @@ -432,15 +438,15 @@ def version(self, v: RangeSummary[str] | None) -> None: | 
| 432 | 438 |         self._set_summary(VERSION_PROP, v) | 
| 433 | 439 | 
 | 
| 434 | 440 |     @property | 
| 435 |  | -    def software(self) -> RangeSummary[dict[str, str]] | None: | 
|  | 441 | +    def software(self) -> list[dict[str, str]] | None: | 
| 436 | 442 |         """Get or sets the summary of :attr:`ProcessingExtension.software` values | 
| 437 | 443 |         for this Collection. | 
| 438 | 444 |         """ | 
| 439 | 445 | 
 | 
| 440 |  | -        return self.summaries.get_range(SOFTWARE_PROP) | 
|  | 446 | +        return self.summaries.get_list(SOFTWARE_PROP) | 
| 441 | 447 | 
 | 
| 442 | 448 |     @software.setter | 
| 443 |  | -    def software(self, v: RangeSummary[dict[str, str]] | None) -> None: | 
|  | 449 | +    def software(self, v: list[dict[str, str]] | None) -> None: | 
| 444 | 450 |         self._set_summary(SOFTWARE_PROP, v) | 
| 445 | 451 | 
 | 
| 446 | 452 | 
 | 
|  | 
0 commit comments