Releases: stac-utils/pystac
Releases · stac-utils/pystac
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)
v1.2.0
Added
- Added Table-extension (#646)
- Stable support for Python 3.10 (#656)
.python-version
files are now ignored by Git (#647)- Added a flag to allow users to skip transforming hierarchical link HREFs based on root catalog type (#663)
Removed
- Exclude
tests
from package distribution. This should make the package lighter (#604)
Changed
- Enable strict mode for
mypy
(#591) - Links will get their
title
from their target if notitle
is provided (#607) - Relax typing on
LabelClasses
fromList
toSequence
(#627) - Upgraded datacube-extension to version 2.0.0 (#645)
- By default, ItemCollections will not modify Item HREFs based on root catalog type to avoid performance costs of root link reads (#663)
Fixed
generate_subcatalogs
can include multiple template values in a single subfolder layer
(#595)- Avoid implicit re-exports (#591)
- Fix issue that caused incorrect root links when constructing multi-leveled catalogs (#658)
- Regression where string
Enum
values were not serialized properly in methods likeLink.to_dict
(#654)
v1.1.0
Added
- Include type information during packaging for use with e.g.
mypy
(#579) - Optional
dest_href
argument toCatalog.save
to allow savingCatalog
instances to
locations other than theirself
href (#565)
Changed
- Pin the rustc version in Continuous Integration to work around rust-lang/cargo#9727 (#581)