Skip to content

Releases: hyriver/pygeoogc

v0.13.12

10 Feb 16:17
Compare
Choose a tag to compare

Release Notes

New Features

  • Make match_crs less strict in terms of the input geometry type being tuple or list by relying on shapely and contextlib.suppress. So, now users can pass any combination of list or tuple 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 and setup.py to pyproject.toml.
  • Convert relative imports to absolute with absolufy-imports.
  • Sync all patch versions of HyRiver packages to x.x.12.

v0.13.10

09 Jan 04:28
Compare
Choose a tag to compare

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 of mypy since it is faster and more accurate. Also, fix all the type errors reported by pyright.
  • Improve code quality by addressing issues raised by DeepSource.

v0.13.9

15 Dec 04:00
Compare
Choose a tag to compare

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

09 Dec 22:46
Compare
Choose a tag to compare

Release Notes

New Features

  • Add a new property to WFS class called schema 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 new schema property of WFS.
  • Add support for disabling SSL verification to RetrySession via ssl parameter.
  • Add support for streaming responses to RetrySession via stream parameter to get and post methods.
  • Add support for closing the session to RetrySession via close method.
  • Add support for passing params, data, and json to RetrySession via get and post methods. Previously, keyword payload was used for params in get and data in post. Now, params and data 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

04 Nov 21:57
Compare
Choose a tag to compare

Release Notes

New Features

  • Add a new method to RetrySession for getting the request head called RetrySession.head. This is useful for getting the headers of a request without having to make a full request which is useful for getting the Content-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 so xarray.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 and WFSBase classes called get_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

30 Aug 17:30
Compare
Choose a tag to compare

Release Notes

Internal Changes

  • Add the missing PyPi classifiers for the supported Python versions.

v0.13.5

29 Aug 21:25
Compare
Choose a tag to compare

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 the pyproj incompatibility issue has been addressed in this issue.
  • Bump minimum version of requests-cache to 0.9.6 since the attrs version issue has been addressed.

v0.13.3

31 Jul 15:16
Compare
Choose a tag to compare

Release Notes

New Features

  • Add support for disabling persistent caching in RetrySession via an argument and also HYRIVER_CACHE_DISABLE environmental variable.

v0.13.2

14 Jun 05:27
Compare
Choose a tag to compare

Release Notes

Breaking Changes

  • Set the minimum supported version of Python to 3.8 since many of the dependencies such as xarray, pandas, rioxarray have dropped support for Python 3.7.
  • Pin owslib to version <0.26 since version 0.26 has pinned pyproj to version <3.3 which is not compatible with rasterio on macOS.

Internal Changes

  • Use micromamba for running tests and use nox for linting in CI.

v0.13.1

12 Jun 04:47
Compare
Choose a tag to compare

Release Notes

New Features

  • More robust handling of errors in ArcGISRESTful by catching None responses. Also, use the POST method for ArcGISRESTful.bysql since the SQL Clause could be a long string.