Releases: hyriver/pygeoogc
Releases · hyriver/pygeoogc
v0.15.0
Release Notes
From release 0.15 onward, all minor versions of HyRiver packages will be pinned. This ensures that previous minor versions of HyRiver packages cannot be installed with later minor releases. For example, if you have pygeoogc==0.14.x
installed, you cannot install pygeoogc==0.15.x
series. This is to ensure that the API is consistent across all minor versions.
New Features
- For now, retain compatibility with
shapely<2
while supportingshapley>=2
.
Bug Fixes
- Fix an issue in
WFS
where thegetfeature_bygeom
method fails if the requested web service does not havegeometry_column
attribute in its schema. This release addresses this issue by trying to find the name from other attributes in the schema. If it fails to find, it raises aValueError
. - Catch an edge case in
match_crs
function where the input is a list of coordinates of length 4. - Give precedence to non-default arguments for caching related arguments instead of directly getting them from env variables. This is to avoid the case where the user sets the env variables but then passes different arguments to the function. In this case, the function should use the passed arguments instead of the env variables.
Internal Changes
- Remove
pyyaml
as a dependency since it is not used anymore.
v0.14.0
Release Notes
Breaking Changes
- Bump the minimum required version of
shapely
to 2.0, and use its new API.
Internal Changes
- Sync all minor versions of HyRiver packages to 0.14.0.
v0.13.12
Release Notes
New Features
- Make
match_crs
less strict in terms of the input geometry type beingtuple
orlist
by relying onshapely
andcontextlib.suppress
. So, now users can pass any combination oflist
ortuple
as coordinates or bounding box.
Bug Fixes
- In
WFS
when some layers have missing schema info, the class failed to initialize. This release fixes this issue by ignoring layers with missing schema info and asks the user to pass a sort parameter instead of trying to automatically find a sort parameter. This fix also improves the performance of this function by making fewer web requests.
Internal Changes
- Fully migrate
setup.cfg
andsetup.py
topyproject.toml
. - Convert relative imports to absolute with
absolufy-imports
. - Sync all patch versions of HyRiver packages to x.x.12.
v0.13.10
Release Notes
Bug Fixes
- Remove all Python 3.9 type-annotation-style in the codebase except for function signatures to ensure compatibility with Python 3.8. (:issue_ogc:[57]{.title-ref}, :pull_ogc:[58]{.title-ref}). Thanks to Tim Cera for reporting and fixing the issue.
Internal Changes
- Use
pyright
for type checking instead ofmypy
since it is faster and more accurate. Also, fix all the type errors reported bypyright
. - Improve code quality by addressing issues raised by DeepSource.
v0.13.9
Release Notes
Bug Fixes
- Add the missing annotation import to the [cache_keys]{.title-ref} to ensure Python 3.8 and 3.9 work with Python 3.10 style type hinting.
v0.13.8
Release Notes
New Features
- Add a new property to
WFS
class calledschema
that contains information about column names and their types for all layers. It also the geometry type and its name for each layer. - Automatically determine the geometry keyword that should be passed to
WFS.getfeature_bygeom
using the newschema
property ofWFS
. - Add support for disabling SSL verification to
RetrySession
viassl
parameter. - Add support for streaming responses to
RetrySession
viastream
parameter toget
andpost
methods. - Add support for closing the session to
RetrySession
viaclose
method. - Add support for passing
params
,data
, andjson
toRetrySession
viaget
andpost
methods. Previously, keywordpayload
was used forparams
inget
anddata
inpost
. Now,params
anddata
can also be passed as keyword arguments to these methods. - Add a new function called
streaming_download
for downloading large files in parallel and in chunks.
Bug Fixes
- Fix an issue in
WFS
class where number of requested features exceeds the maximum number of features allowed by the server, but only a portion of the features are returned. This release addresses this issue by first getting only the number of features and then requesting the features in chunks of features IDs based on the maximum number of features allowed by the server.
Internal Changes
- Drop support for WFS version 1.0.0 since it does not support paging.
- Modify the codebase based on Refurb suggestions.
Bug Fixes
- Fix the warning message in
ArcGISRESTFul
where wrong number of missing feature IDs were being reported.
v0.13.7
Release Notes
New Features
- Add a new method to
RetrySession
for getting the request head calledRetrySession.head
. This is useful for getting the headers of a request without having to make a full request which is useful for getting theContent-Length
header for example, i.e., download size.
Bug Fixes
- Fix an issue in the decompose function,
utils.bbox_decompose
, where the generated bounding boxes might overlap in some cases. A new approach has been implemented based on finding the number of required bounding boxes from max allowable no. of pixels and total requested pixels without changing the input bounding box projection. This ensures that the decomposed bounding boxes are not overlapping soxarray.open_mfdataset
can be used without any issues.
Internal Changes
- In the
utils.match_crs
function, don't perform any projection if the source target CRS are the same. - Improve type hints for CRS-related arguments of all functions by including string, integer, and
pyproj.CRS
types. - Add a new class method to
WMSBase
andWFSBase
classes calledget_service_options
for retrieving the available layers, output formats, and CRSs for a given service. Here's an example: - Use
pyupgrade
package to update the type hinting annotations to Python 3.10 style.
from pygeoogc.core import WMSBase
url = "https://elevation.nationalmap.gov/arcgis/services/3DEPElevation/ImageServer/WMSServer"
wms = WMSBase(url, validation=False)
wms.get_service_options()
print(wms.available_layer)
v0.13.6
Release Notes
Internal Changes
- Add the missing PyPi classifiers for the supported Python versions.
v0.13.5
Release Notes
Breaking Changes
- Append "Error" to all exception classes for conforming to PEP-8 naming conventions.
Internal Changes
- Bump minimum version of
owslib
to 0.27.2 since thepyproj
incompatibility issue has been addressed in this issue. - Bump minimum version of
requests-cache
to 0.9.6 since theattrs
version issue has been addressed.
v0.13.3
Release Notes
New Features
- Add support for disabling persistent caching in
RetrySession
via an argument and alsoHYRIVER_CACHE_DISABLE
environmental variable.