v0.4.0
[v0.4.0] - 2022-06-08
Added
- Significantly improved type hints
- lru_cache to several methods #167
- Direct item GET via ogcapi-features, if conformant #166
py.typed
for downstream type checking #163- Added tutorial for using various geometry objects (e.g., shapely, geojson) as an Item Search intersects argument #232
Changed
- Item Search no longer defaults to returning an unlimited number of result Items from
its "items" methods. Themax_items
parameter now defaults to 100 instead of None.
Since thelimit
parameter also defaults to 100, in an ideal situation, only one request
will be made to the server to retrieve all 100 items. Both of these parameters can be
carefully adjusted upwards to align with the server's capabilities and the expected
number of search results. #208 - Better error message when trying to search a non-item-search-conforming catalog #164
- Search
filter-lang
defaults tocql2-json
instead ofcql-json
#169 - Search
filter-lang
will be set tocql2-json
if thefilter
is a dict, orcql2-text
if it is a string #169 - Search parameter
intersects
is now typed to only accept a str, dict, or object that implements__geo_interface__
#169 - Better error message when trying to open a Collection with
Client.open
#222
Deprecated
- Item Search methods
get_items()
andget_item_collections()
have been renamed to
items()
anditem_collections()
. The original methods are now deprecated
and may be removed as early as v0.5.0. #206 - Item Search methods
get_all_items()
andget_all_items_as_dict()
are now deprecated,
and may be removed as early as v0.5.0.
These have been deprecated because they have the potential to perform a large number
of requests to the server and instantiate a large number of objects in memory.
To a user, this is only visible as a large delay in the method call and/or the
exhaustion of all available memory. The iterator methodsitems()
or
item_collections()
should be used instead. #206 - CLI parameter
-q
is now deprecated and may be removed as early as v0.5.0. Use--query
instead. #215
Removed
- Client parameter
require_geojson_link
has been removed. #169
Fixed
- Search query parameter now has correct typing and handles Query Extension JSON format. #220
- Search sortby parameter now has correct typing and handles both GET and POST JSON parameter formats. #175
- Search fields parameter now has correct typing and handles both GET and POST JSON parameter formats. #184
- Use pytest configuration to skip benchmarks by default (instead of a
skip
mark). #168 - Methods retrieving collections incorrectly checked the existence of the OAFeat OpenAPI 3.0 conformance class
(http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30) instead of theSTAC API - Collections
(https://api.stacspec.org/v1.0.0-beta.1/collections) orSTAC API - Features
(https://api.stacspec.org/v1.0.0-beta.1/ogcapi-features) conformance classes. 223
What's Changed
- Add lru_caches by @gadomski in #167
- set filter-lang parameter correctly based on the filter parameter type by @philvarner in #169
- update CQL example notebook with latest CQL2 syntax by @philvarner in #170
- Added Table of Contents to ReadMe by @Tomiiwa in #153
- Check conformance before search links by @gadomski in #164
- clarify type requirements for search intersects parameter, update some documentation by @philvarner in #174
- fix sortby typing and format for POST by @philvarner in #175
- Release/0.3.5 by @philvarner in #182
- sync static analysis tooling with pystac and stactools by @philvarner in #183
- Bump jsonschema from 3.2.0 to 4.5.1 by @dependabot in #195
- Update ipython requirement from ~=7.27 to ~=8.4 by @dependabot in #194
- Update pytest-console-scripts requirement from ~=1.1.0 to ~=1.3.1 by @dependabot in #193
- Update pytest-cov requirement from ~=2.11.1 to ~=3.0.0 by @dependabot in #192
- Bump codecov/codecov-action from 1 to 3 by @dependabot in #190
- Bump requests from 2.25 to 2.27.1 by @dependabot in #191
- fix search fields parameter typing and behavior by @philvarner in #184
- docs updates, inc. sort extension by @philvarner in #188
- Add releasing notes by @gadomski in #181
- feat: use ogciapi-features for get_item by @gadomski in #166
- Make benchmarks easier to run by @gadomski in #168
- Add py.typed to enable downstream type usage by @gadomski in #163
- build(deps-dev): update coverage requirement from ~=6.3.2 to ~=6.4 by @dependabot in #197
- build(deps-dev): update pytest-recording requirement from ~=0.11.0 to ~=0.12.0 by @dependabot in #198
- build(deps-dev): update pytest requirement from ~=6.2.3 to ~=7.1.2 by @dependabot in #200
- build(deps-dev): update doc8 requirement from ~=0.11.1 to ~=0.11.2 by @dependabot in #199
- build(deps): update myst-parser requirement from ~=0.15.2 to ~=0.17.2 by @dependabot in #204
- add docs build to ci by @philvarner in #201
- build(deps): update ipykernel requirement from ~=6.2 to ~=6.13 by @dependabot in #205
- deprecate get_all_items_as_dict and get_all_items, add get_items_as_dicts by @philvarner in #206
- build(deps-dev): bump orjson from 3.6.8 to 3.6.9 by @dependabot in #209
- build(deps): bump jsonschema from 4.5.1 to 4.6.0 by @dependabot in #211
- default ItemSearch max_items to 100, and make its use more prominent by @philvarner in #208
- build(deps-dev): bump orjson from 3.6.9 to 3.7.0 by @dependabot in #217
- AOI example by @philvarner in #212
- deprecate -q parameter in CLI by @philvarner in #215
- Better error message when trying to open a Collection with Client.open by @gadomski in #222
- add neq as a supported parameter by @philvarner in #216
- build(deps-dev): bump orjson from 3.7.0 to 3.7.1 by @dependabot in #224
- Fix Query Extension JSON syntax by @philvarner in #220
- fix conformance class checking by @philvarner in #223
- typing improvements by @philvarner in #225
- build(deps-dev): update mypy requirement from ~=0.960 to ~=0.961 by @dependabot in #230
- use Iterator instead of Iterable consistently for type hints by @philvarner in #226
- fix datetime types in ItemSearch by @philvarner in #227
- fix item search types by @philvarner in #228
- build(deps-dev): bump orjson from 3.7.1 to 3.7.2 by @dependabot in #234
- build(deps): update myst-parser requirement from ~=0.17.2 to ~=0.18.0 by @dependabot in #233
- add tutorial about using geo_interface objects for search intersects by @philvarner in #232
- fix typing in StacApiIO by @philvarner in #229
- prepare for 0.4.0 release by @philvarner in #235
New Contributors
- @Tomiiwa made their first contribution in #153
- @dependabot made their first contribution in #195
Full Changelog: v0.3.5...v0.4.0