Releases: stac-utils/pystac
Releases · stac-utils/pystac
v1.0.1
v1.0.0
Added
ProjectionExtension.crs_string
to provide a single string to describe the coordinate reference system (CRS).
Useful because projections can be defined by EPSG code, WKT, or projjson.
(#548)- SAR Extension summaries(#556)
- Migration for
sar:type
->sar:product_type
andsar:polarization
->
sar:polarizations
for pre-0.9 catalogs
(#556) - Migration from
eo:epsg
->proj:epsg
for pre-0.9 catalogs (#557) - Collection summaries for Point Cloud Extension (#558)
PhenomenologyType
enum for recommended values ofpc:type
&SchemaType
enum for
valid values oftype
in Point Cloud Schema
Objects
(#548)to_dict
and equality definition forextensions.item_asset.AssetDefinition
(#564)Asset.common_metadata
property (#563)
Changed
- The
from_dict
method on STACObjects will set the object's root link when aroot
parameter is present. An ItemCollectionfrom_dict
with a root parameter will set the root on each of it's Items. (#549) - Calling
ExtensionManagementMixin.validate_has_extension
withadd_if_missing = True
on an ownerlessAsset
will raise aSTACError
(#554) PointcloudSchema
->Schema
,PointcloudStatistic
->Statistic
for consistency
with naming convention in other extensions
(#548)RequiredPropertyMissing
always raised when trying to get a required property that is
None
(STACError
orKeyError
was previously being raised in some cases)
(#561)
Fixed
- Added
Collections
as a type that can be extended for extensions whose fields can appear in collection summaries (#547) - Allow resolved self links when getting an object's self href (#555)
- Fixed type annotation on SummariesLabelExtension.label_properties setter (#562)
- Allow comparable types with alternate parameter naming of lt method to pass structural type linting for RangeSummary (#562)
v1.0.0-rc.3
Added
- (Experimental) support for Python 3.10 (#473)
LabelTask
enum inpystac.extensions.label
with recommended values for
"label:tasks"
field (#484)LabelMethod
enum inpystac.extensions.label
with recommended values for
"label:methods"
field (#484)- Label Extension summaries (#484)
- Timestamps Extension summaries (#513)
- Define equality and
__repr__
ofRangeSummary
instances based onto_dict
representation (#513) - Sat Extension summaries (#509)
Catalog.get_collections
for getting all child
Collections
for a catalog, andCatalog.get_all_collections
for recursively getting
all childCollections
for a catalog and its children (#511)
Changed
- Renamed
Asset.properties
->Asset.extra_fields
andLink.properties
->
Link.extra_fields
for consistency with other STAC objects
(#510)
Fixed
- Bug in
pystac.serialization.identify_stac_object_type
where invalid objects with
stac_version == 1.0.0
were incorrectly identified as Catalogs
(#487) Link
constructor classes (e.g.Link.from_dict
,Link.canonical
, etc.) now return
the calling class instead of always returning theLink
class
(#512)- Sat extension now includes all fields defined in v1.0.0
(#509)
Removed
v1.0.0-rc.2
Added
- Add a
preserve_dict
parameter toItemCollection.from_dict
and set it to False when
usingItemCollection.from_file
.
(#468) StacIO.json_dumps
andStacIO.json_loads
methods for JSON
serialization/deserialization. These were "private" methods, but are now "public" and
documented (#471)
Changed
pystac.stac_io.DuplicateObjectKeyError
moved topystac.DuplicateObjectKeyError
(#471)
v1.0.0-rc.1
Added
- License file included in distribution (#409)
- Links to Issues, Discussions, and documentation sites (#409)
- Python minimum version set to
>=3.6
(#409) - Code of Conduct (#399)
ItemCollection
class for working with GeoJSON FeatureCollections containing only
STAC Items (#430)- Support for Python 3.9 (#420)
- Migration for pre-1.0.0-rc.1 Stats Objects (renamed to Range Objects in 1.0.0-rc.3) (#447)
- Attempting to extend a
STACObject
that does not contain the extension's schema URI in
stac_extensions
raises newExtensionNotImplementedError
(#450) STACObject.from_dict
now takes apreserve_dict
parameter, which if False will avoid a call to deepcopy on the passed in dict and can result in performance gains (defaults to True. Reading from a file will use preserve_dict=False resulting in better performance. (#454)
Changed
- Package author to
stac-utils
, email to[email protected]
, url to this repo (#409) StacIO.read_json
passes arbitrary positional and keyword arguments to
StacIO.read_text
(#433)FileExtension
updated to work with File Info Extension v2.0.0 (#442)FileExtension
only operates onpystac.Asset
instances (#442)*Extension.ext
methods now have an optionaladd_if_missing
argument, which will
add the extension schema URI to the object'sstac_extensions
list if it is not
present (#450)from_file
andfrom_dict
methods onSTACObject
sub-classes always return instance
of calling class (#451)
Fixed
EOExtension.get_bands
returnsNone
for asset without EO bands (#406)identify_stac_object_type
returnsNone
andidentify_stac_object
raisesSTACTypeError
for non-STAC objects
(#402)ExtensionManagementMixin.add_to
is now idempotent (only adds schema URI to
stac_extensions
once perItem
regardless of the number of calls) (#419)- Version check for when extensions changed from short links to schema URIs
(#455) - Schema URI base for STAC 1.0.0-beta.1 (#455)
v1.0.0-beta.3
Added
- Summaries for View Geometry, Projection, and Scientific extensions (#372)
- Raster extension support (#364)
- solar_illumination field in eo extension (#356)
- Added
Link.canonical
static method for creating links with "canonical" rel type (#351) - Added
RelType
enum containing commonrel
values (#351) - Added support for summaries (#264)
Fixed
- Links to STAC Spec point to latest supported version (#368)
- Links to STAC Extension pages point to repos in
stac-extensions
GitHub org (#368) - Collection assets (#373)
Removed
- Two v0.6.0 examples from the test suite (#373)
v1.0.0-beta.2
Changed
- Split
DefaultStacIO
's reading and writing into two methods to allow subclasses to use the default link resolution behavior (#354) - Increased test coverage for the pointcloud extension (#352)
Fixed
- Reading json without orjson (#348)
Removed
- Removed type information from docstrings, since it is redundant with function type
annotations (#342)
v1.0.0-beta.1
Added
- Added type annotations across the library (#309)
- Added assets to collections (#309)
item_assets
extension (#309)datacube
extension (#309)- Added specific errors:
ExtensionAlreadyExistsError
,ExtensionTypeError
, andRequiredPropertyMissing
; moved custom exceptions topystac.errors
(#309)
Fixed
- Validation checks in a few tests (#346)
Changed
- API change: The extension API changed significantly. See (#309) for more details.
- API change: Refactored the global STAC_IO object to an instance-specific
StacIO
implementation. STAC_IO is deprecated and will be removed next release. (#309) - Asset.get_absolute_href returns None if no absolute href can be inferred (previously the relative href that was passed in was returned) (#309)
Removed
- Removed
properties
from Collections (#309) - Removed
LinkMixin
, and implemented those methods onSTACObject
directly. STACObject was the only class using LinkMixin and this should not effect users (#309 - Removed
single-file-stac
extension; this extension is being removed in favor of ItemCollection usage (#309
Version 0.5.6
Added
- HIERARCHICAL_LINKS array constant of all the types of hierarchical links (self is not included) (#290)
Fixed
- Fixed error when accessing the statistics attribute of the pointcloud extension when no statistics were defined (#282)
- Fixed exception being thrown when calling set_self_href on items with assets that have relative hrefs (#291)
Changed
- Link behavior - link URLs can be either relative or absolute. Hierarchical (e.g., parent, child) links are made relative or absolute based on the value of the root catalog's
catalog_type
field (#290) - Internal self hrefs are set automatically when adding Items or Children to an existing catalog. This removes the need to call
normalize_hrefs
or manual setting of the hrefs for newly added STAC objects (#294) - Catalog.generate_subcatalogs is an order of magnitude faster (#295)
Removed
- Removed LinkType class and the
link_type
field from links (#290)
Version 0.5.5
Added
- Added support for STAC file extension (#270)
Fixed
- Fix handling of optional properties when using apply on view extension (#259)
- Fixed issue with setting None into projection extension fields that are not required breaking validation (#269)
- Remove unnecessary
deepcopy
calls into_dict
methods to avoid costly overhead (#273)