pystac.extensions.version#
Implements the Versioning Indicators Extension.
- class pystac.extensions.version.CollectionVersionExtension(collection: Collection)[source]#
A concrete implementation of
VersionExtension
on aCollection
that extends the properties of the Collection to include properties defined in the Versioning Indicators Extension.This class should generally not be instantiated directly. Instead, call
VersionExtension.ext()
on anCollection
to extend it.- collection: pystac.Collection#
- links: List[pystac.Link]#
- class pystac.extensions.version.ItemVersionExtension(item: Item)[source]#
A concrete implementation of
VersionExtension
on anItem
that extends the properties of the Item to include properties defined in the Versioning Indicators Extension.This class should generally not be instantiated directly. Instead, call
VersionExtension.ext()
on anItem
to extend it.- item: pystac.Item#
- links: List[pystac.Link]#
- class pystac.extensions.version.VersionExtension(obj: STACObject)[source]#
An abstract class that can be used to extend the properties of an
Item
orCollection
with properties from the Versioning Indicators Extension. This class is generic over the type of STAC Object to be extended (e.g.Item
,Collection
).To create a concrete instance of
VersionExtension
, use theVersionExtension.ext()
method. For example:>>> item: pystac.Item = ... >>> version_ext = VersionExtension.ext(item)
- apply(version: str, deprecated: bool | None = None, latest: T | None = None, predecessor: T | None = None, successor: T | None = None) None [source]#
Applies version extension properties to the extended
Item
orCollection
.- Parameters:
version – The version string for the item.
deprecated – Optional flag set to
True
if an Item is deprecated with the potential to be removed. Defaults toFalse
if not present.latest – Item representing the latest (e.g., current) version.
predecessor – Item representing the resource containing the predecessor version in the version history.
successor – Item representing the resource containing the successor version
history. (in the version) –
- property deprecated: bool | None#
Get or sets whether the item is deprecated.
A value of
True
specifies that the Collection or Item is deprecated with the potential to be removed. It should be transitioned out of usage as soon as possible and users should refrain from using it in new projects. A link with relation typelatest-version
SHOULD be added to the links and MUST refer to the resource that can be used instead.Note
A
pystac.DeprecatedWarning
is issued if thedeprecated
property isTrue
when deserializing a dictionary to anItem
orCollection
. Theignore_deprecated()
context manager is provided as a convenience to suppress these warnings:>>> with ignore_deprecated(): ... deprecated_item = pystac.Item.from_dict(deprecated_item_dict)
- classmethod ext(obj: T, add_if_missing: bool = False) VersionExtension[T] [source]#
Extends the given STAC Object with properties from the Versioning Indicators Extension.
This extension can be applied to instances of
Item
orCollection
.- Raises:
pystac.ExtensionTypeError – If an invalid object type is passed.
- obj: pystac.STACObject#
- property predecessor: T | None#
Gets or sets the
Link
to theItem
representing the resource containing the predecessor version in the version history.
- property successor: T | None#
Gets or sets the
Link
to theItem
representing the resource containing the successor version in the version history.
- property version: str#
Get or sets a version string of the
Item
orpystac.Collection
.
- class pystac.extensions.version.VersionExtensionHooks[source]#
-
- prev_extension_ids = {'version'}#
- schema_uri = 'https://stac-extensions.github.io/version/v1.0.0/schema.json'#
- stac_object_types = {STACObjectType.COLLECTION, STACObjectType.ITEM}#
- class pystac.extensions.version.VersionRelType(value)[source]#
A list of rel types defined in the Version Extension.
See the Version Extension Relation types documentation for details.
- LATEST = 'latest-version'#
Indicates a link pointing to a resource containing the latest version.
- PREDECESSOR = 'predecessor-version'#
Indicates a link pointing to a resource containing the predecessor version in the version history.
- SUCCESSOR = 'successor-version'#
Indicates a link pointing to a resource containing the successor version in the version history.