Releases: stac-utils/pystac
Releases · stac-utils/pystac
v1.8.0
What's Changed
- Pull FIELDS_JSON_URL into the codebase on release by @jsignell in #1045
- Speed up
get_child
by first checking links that have id in them by @jsignell in #1064 - Fix heading in changelog by @gadomski in #1076
- Expand
get_items
- deprecateget_all_items
andCatalog.get_item
by @jsignell in #1075 - Remove text around to_dict and JSON by @gadomski in #1074
- Return deepcopy of
assets
fromget_assets
by @jsignell in #1087 - Expand support for multiple extension uris by @jsignell in #1091
- Add MGRS Extension from code in stactools-package for sentinel2 by @jsignell in #1088
- Add debug logging on GET by @jsignell in #1096
- Use pyproject.toml instead of setup.py by @gadomski in #1100
- Raise error if writing to url by @gadomski in #1107
- Allow nullable
stac_extensions
by @jsignell in #1109 Link.to_dict()
should only contain strings by @jsignell in #1114- Add keep_parent parameter to add_child and add_item #1116 by @m-mohr in #1117
- Support item_assets extension's AssetDefinition in raster extension by @jpolchlo in #1110
- Fix benchmarks to build w/ pyproject.toml by @gadomski in #1122
- return all validation issues by @ircwaves in #1120
- Ruff import sorting by @ircwaves in #1132
- Update EO extension to v1.1.0 by @jsignell in #1131
- change STACTypeError to create short informative message by @ircwaves in #1126
- Always write
/
-delimited paths by @pjhartzell in #1125 - Add classification extension by @jpolchlo in #1093
- Add
get/add/remove_derived_from
to pystac.Item by @jsignell in #1136 - Don't convert stac_extensions to set by @jsignell in #1133
- Make sure that get_items is backwards compatible by @jsignell in #1139
- Get assets by eo:bands common_name or name by @jsignell in #1140
- Make
_repr_html_
look like_repr_json_
output by @jsignell in #1142 - Add optional jinja2 dependency by @jsignell in #1144
- Remove
tutorials/example-catalog
by @jsignell in #1145 - Ensure that
add_if_missing
is always be optional and defaults to False by @jsignell in #1147 - Add a tutorial showing how to read data using xpystac by @jsignell in #1146
- Unclutter autodoc slightly by @jsignell in #1137
- Allow more configuration with
Catalog.validate_all
by @jsignell in #1150 - Feat/add kml by @wildintellect in #1151
- Add docs and hint about extension summaries by @jsignell in #1157
- Add a bit more test coverage for datacube ext by @jsignell in #1143
- Add move/copy/delete methods on Asset by @jsignell in #1158
- Change
keep_parent
toset_parent
and add flag on obj indicating parent override of href by @jsignell in #1155 - Return Link Object after adding a child or item #1159 by @m-mohr in #1160
- Remove faulty mypy annotation by @jpolchlo in #1166
- Include some json schemas within pystac by @jsignell in #1165
- Include collection assets in
make_all_asset_hrefs_relative/absolute
by @jsignell in #1168 - Xarray Assets Extension class by @jsignell in #1161
- Tests don't depend on external files by @jsignell in #1162
- Fix internal usage of deprecated function by @gadomski in #1172
- Collection link should be resolved with root by @gadomski in #1171
- Make tests fail on warning by @jsignell in #1173
- Update landsat tutorial notebook by @jpolchlo in #1152
- Ceil vcrpy by @gadomski in #1175
- Let non-hierarchical links to hierachical elements be relative paths for self-contained catalogs by @jpolchlo in #1169
- Release v1.8.0 by @gadomski in #1176
New Contributors
- @jpolchlo made their first contribution in #1110
- @ircwaves made their first contribution in #1120
- @wildintellect made their first contribution in #1151
Full Changelog: v1.7.3...v1.8.0
v1.7.3
v1.7.2
v1.7.1
This is a bugfix release for #1048 which corrects Item's __geo_interface__
property to return the whole feature, not just the geometry. This also includes some linting and infrastructure fixups.
What's Changed
- Fix up releasing workflow and docs by @gadomski in #1032
- Use black to format notebooks by @jsignell in #1041
- Update PR template since precommit runs on the diff by default by @jsignell in #1042
- Replace flake8 and isort with ruff by @gadomski in #1034
- Update notebook links to not point to specific versions by @jsignell in #1039
- Fix
__geo_interface__
by @gadomski in #1049 - Release v1.7.1 by @gadomski in #1057
Full Changelog: v1.7.0...v1.7.1
v1.7.0
Summary
Many bug fixes and feature additions. Some changes/additions of note:
ItemCollection
now clones its items by default (#1016).Item
now implements__geo_interface__
(#885). For more about__geo_interface__
, see https://gist.github.com/sgillies/2217756.- We now have a benchmark suite (#748).
- We now use pytest (#939).
Issues and pull requests are grouped into the Github milestone.
Changelog
Added
- Additional util methods
now_in_utc
andnow_to_rfc3339_str
(#760) media_type
androle
filtering to Item and Collectionget_assets()
method (#936)Asset.has_role
(#936)- Enum MediaType entry for flatgeobuf (discussion) (#938)
- Custom
header
support toDefaultStacIO
(#889) - Python 3.11 checks in CI (#908)
- Ability to only update resolved links when using
Catalog.normalize_hrefs
andCatalog.normalize_and_save
, via a newskip_unresolved
argument (#900) - Optional argument
timespec
toutils.datetime_to_str
(#929) isort
(#961)AsIsLayoutStrategy
(#919)__geo_interface__
for items (#885)- Optional
strategy
parameter tocatalog.add_items()
(#967) start_datetime
andend_datetime
arguments to theItem
constructor (#918)RetryStacIO
(#986)STACObject.remove_hierarchical_links
andLink.is_hierarchical
(#999)extra_fields
toAssetDefinition
in the item assets extension (#1003)Catalog.fully_resolve
(#1001)- A
DeprecatedWarning
when deserializing an Item or Collection to a STAC object via thefrom_dict()
method (1006) - Support for relative stac extension paths via
make_absolute_href
(#884)
Changed
- Projection extension updated to use v1.1.0 (#989).
- Update Grid Extension support to v1.1.0 and fix issue with grid:code prefix validation (#925)
- Switch to pytest (#939)
- Use
from __future__ import annotations
for type signatures (#962) - Use
TypeVar
for alternate constructors (#983) - Behavior when required fields are missing in
Item.from_dict
(#994) - By default,
ItemCollection
now clones items in iterator (clone_items=True
) (#1016)
Deprecated
TemplateError
inlayout.py
deprecated in favor of duplicate inerrors.py
(#1018)
Fixed
- Creating dictionaries from Catalogs and Collections without root hrefs now creates valid STAC (#896)
- Dependency resolution when installing
requirements-dev.txt
(#897) - Serializing optional Collection attributes (#916)
- A couple non-running tests (#912)
- Filtering on
media_type
inget_links()
andget_single_link()
(#966) - Missing hrefs and duplicate Item fields in html generated by
_repr_html_()
(#975) - Allow subclasses in a few more
clone
methods (#983) - Pass
href
fromItem.from_dict
to constructor (#984) - Serializing the table extension (#992)
New Contributors
- @remicres made their first contribution in #888
- @john-dupuy made their first contribution in #889
- @martinfleis made their first contribution in #879
- @dlebauer made their first contribution in #915
- @giswqs made their first contribution in #926
- @luca-digrazia made their first contribution in #878
- @imanshafiei540 made their first contribution in #929
- @jsignell made their first contribution in #950
v1.6.1
Fixed
- Pins
jsonschema
to >=4.0.1 to avoid aRefResolutionError
when validating some extensions (#857)
What's Changed
- Bump jsonschema minimum version to avoid RefResolutionError by @duckontheweb in #857
- Bump package to v1.6.1 by @duckontheweb in #858
Full Changelog: v1.6.0...v1.6.1
v1.6.0
NOTE: This release exists purely to drop support for Python 3.7.
Removed
- Support for Python 3.7 (#853)
What's Changed
- build(deps): bump orjson from 3.7.7 to 3.7.8 by @dependabot in #852
- build(deps): bump mypy from 0.961 to 0.971 by @dependabot in #851
- build(deps): bump types-python-dateutil from 2.8.18 to 2.8.19 by @dependabot in #850
- Remove Python 3.7 support by @duckontheweb in #853
- Change to support v1.6.0 release by @duckontheweb in #854
Full Changelog: v1.5.0...v1.6.0
v1.5.0
Added
- Enum MediaType entry for PDF documents (#758)
- Enum MediaType entry for HTML documents (#816)
- Updated Link to obtain stac_io from owner root (#762)
- Replace test.com with special-use domain name. (#769)
- Updated AssetDefinition to have create, apply methods (#768)
- Add Grid Extension support (#799)
- Rich HTML representations for Jupyter Notebook display (#743)
- Add
assets
argument toItem
andCollection
init methods to allow adding Assets during object initialization (#834)
Changed
- Updated Raster Extension from v1.0.0 to v1.1.0 (#809)
Fixed
- Mutating
Asset.extra_fields
on a clonedAsset
also mutated the original asset (#826) - "How to create STAC catalogs" tutorial (#775)
- Add a
variables
argument, to accompanydimensions
, for theapply
method of stac objects extended with datacube (#782) - Deepcopy collection properties on clone. Implement
clone
method forSummaries
(#794) - Collection assets are now preserved when using
Collection.clone
(#834) - Docstrings for
StacIO.read_text
andStacIO.write_text
now match the type annotations for thesource
argument. (#835) - UTC timestamps now always have
tzutc
timezone even when system timezone is set to UTC. (#848)
What's Changed
- Add conda badge to main README by @duckontheweb in #755
- Adde enum MediaType for PDF files by @KennSmithDS in #758
- build(deps): bump actions/checkout from 2 to 3 by @dependabot in #759
- build(deps): bump ipython from 8.0.1 to 8.1.1 by @dependabot in #761
- update stac_io from owner root by @KennSmithDS in #762
- build(deps): bump mypy from 0.931 to 0.940 by @dependabot in #765
- build(deps): bump actions/setup-python from 2 to 3 by @dependabot in #756
- build(deps): bump mypy from 0.940 to 0.941 by @dependabot in #767
- build(deps): bump types-python-dateutil from 2.8.9 to 2.8.10 by @dependabot in #766
- Fix/576 AssetDefinition missing create, apply by @guidorice in #768
- build(deps): bump black from 22.1.0 to 22.3.0 by @dependabot in #776
- build(deps): bump mypy from 0.941 to 0.942 by @dependabot in #770
- Fix the "how to create STAC catalogs" tutorial by @gadomski in #775
- build(deps): bump sphinx from 4.4.0 to 4.5.0 by @dependabot in #772
- build(deps): bump doc8 from 0.10.1 to 0.11.0 by @dependabot in #777
- build(deps): bump ipython from 8.1.1 to 8.2.0 by @dependabot in #774
- Replace test.com with special-use domain name. by @guidorice in #769
- build(deps): bump pydata-sphinx-theme from 0.8.0 to 0.8.1 by @dependabot in #773
- Update Python 3.11 alpha-release in CI by @duckontheweb in #779
- Add variables argument to the DatacubeExtension
apply
method by @itcarroll in #782 - build(deps): bump codecov/codecov-action from 2.1.0 to 3 by @dependabot in #785
- build(deps): bump pre-commit from 2.17.0 to 2.18.1 by @dependabot in #784
- build(deps): bump doc8 from 0.11.0 to 0.11.1 by @dependabot in #780
- Update CI to use Python 3.11.0-alpha.7 by @duckontheweb in #795
- Deepcopy Collection properties on clone by @sunu in #794
- build(deps): bump mypy from 0.942 to 0.950 by @dependabot in #798
- build(deps): bump ipython from 8.2.0 to 8.3.0 by @dependabot in #800
- build(deps): bump orjson from 3.6.7 to 3.6.8 by @dependabot in #791
- add Grid Extension support by @philvarner in #799
- build(deps): bump types-python-dateutil from 2.8.10 to 2.8.14 by @dependabot in #797
- build(deps): bump pre-commit from 2.18.1 to 2.19.0 by @dependabot in #802
- build(deps): bump jsonschema from 4.4.0 to 4.5.1 by @dependabot in #803
- build(deps): bump types-python-dateutil from 2.8.14 to 2.8.15 by @dependabot in #804
- Optional HTML representations for Jupyter Notebook by @DahnJ in #743
- Return None from Asset.get_absolute_href when owning Item self HREF is NOne by @duckontheweb in #808
- build(deps): bump mypy from 0.950 to 0.961 by @dependabot in #821
- build(deps): bump jsonschema from 4.5.1 to 4.6.0 by @dependabot in #822
- build(deps): bump ipython from 8.3.0 to 8.4.0 by @dependabot in #817
- build(deps): bump types-python-dateutil from 2.8.15 to 2.8.17 by @dependabot in #815
- build(deps): bump doc8 from 0.11.1 to 0.11.2 by @dependabot in #810
- build(deps): bump coverage from 6.3.2 to 6.4.1 by @dependabot in #818
- build(deps): bump nbsphinx from 0.8.8 to 0.8.9 by @dependabot in #823
- Add html media type by @m-mohr in #816
- build(deps): bump orjson from 3.6.8 to 3.7.2 by @dependabot in #825
- update raster extension to v1.1.0 by @pjhartzell in #809
- build(deps): bump actions/setup-python from 3 to 4 by @dependabot in #828
- Deepcopy Asset.extra_fields when cloning by @duckontheweb in #826
- Fix docs for StacIO.read/write_text by @duckontheweb in #835
- build(deps): bump types-python-dateutil from 2.8.17 to 2.8.18 by @dependabot in #829
- Preserve Collection assets on clone by @duckontheweb in #834
- build(deps): bump black from 22.3.0 to 22.6.0 by @dependabot in #833
- build(deps): bump orjson from 3.7.2 to 3.7.5 by @dependabot in #832
- build(deps): bump jsonschema from 4.6.0 to 4.6.1 by @dependabot in #836
- build(deps): bump orjson from 3.7.5 to 3.7.7 by @dependabot in #839
- build(deps): bump jsonschema from 4.6.1 to 4.7.2 by @dependabot in #844
- build(deps): bump coverage from 6.4.1 to 6.4.2 by @dependabot in #847
- build(deps): bump pre-commit from 2.19.0 to 2.20.0 by @dependabot in #841
- Use isoparse instead of parse for datetimes by @duckontheweb in #848
- Changes to support v1.5.0 release by @duckontheweb in #849
New Contributors
- @KennSmithDS made their first contribution in #758
- @guidorice made their first contribution in #768
- @itcarroll made their first contribution in #782
- @sunu made their first contribution in #794
- @philvarner made their first contribution in #799
- @DahnJ made their first contribution in #743
- @m-mohr made their first contribution in #816
- @pjhartzell made their first contribution in #809
Full Changelog: v1.4.0...v1.5.0
v1.4.0
Added
- Experimental support for Python 3.11 (#731)
- Accept PathLike objects in
StacIO
I/O methods,pystac.read_file
andpystac.write_file
(#728) - Support for Storage Extension (#745)
- Optional
StacIO
instance as argument toCatalog.save
/Catalog.normalize_and_save
(#751) - More thorough docstrings for
pystac.utils
functions and classes (#735)
Changed
- Label Extension version updated to
v1.0.1
(#726) - Option to filter by
media_type
inSTACObject.get_links
andSTACObject.get_single_link
(#704)
Fixed
- Self links no longer included in Items for "relative published" catalogs (#725)
- Adding New and Custom Extensions tutorial now up-to-date with new extensions API (#724)
- Clarify error message when using
PropertyExtension.ext(..., add_if_missing=True)
on anAsset
with no owner (#746) - Type errors when initializing
TemporalExtent
using a list ofdatetime
objects (#744)
v1.3.0
Added
- Type annotations for instance attributes on all classes (#705)
extensions.datacube.Variable.to_dict
method (#699])- Clarification of possible errors when using
.ext
to extend an object (#701) - Downloadable documentation as zipped HTML (#715)
Removed
- Downloadable documentation in ePub format (#715)
Changed
- Reorganize docs and switch to PyData theme (#687)
Fixed
- Quickstart tutorial is now up-to-date with all package changes (#674)
- Creating absolute URLs from absolute URLs (#697])
- Serialization error when using
pystac.extensions.file.MappingObject
(#700) - Use
PropertiesExtension._get_property
to properly set return type inTableExtension
(#712) DatacubeExtension.variables
now has a setter (#699])- Landsat STAC tutorial is now up-to-date with all package changes (#692)
- Paths to sub-catalog files when using
Catalog.save
(#714) - Link to PySTAC Introduction tutorial in tutorials index page (#719)