Skip to content

v3.0.0

Compare
Choose a tag to compare
@Roel Roel released this 04 Apr 09:03
· 143 commits to master since this release
  • News

    • This version drops support for Python 3.7.
    • This version adds support for Python 3.11.
    • This version is supported on Python 3.8, 3.9, 3.10 and 3.11.
  • Breaking changes

    • pydov3 uses WFS 2.0.0 instead of WFS 1.1.0, as a consequence attribute filters should now use FES2.0 and location filters should now use GML3.2. This change impacts a number of places:

      • query parameter in the pydov.search.abstract.AbstractSearch.search method

        Attribute query operators, like PropertyIsEqualTo, PropertyIsGreaterThan and so on, should from now on be imported from the owslib.fes2 package instead of the owslib.fes package. E.g.:

         # change this
         from owslib.fes import And, PropertyIsEqualTo
        
         # into this
         from owslib.fes2 import And, PropertyIsEqualTo
      • sort_by parameter in the pydov.search.abstract.AbstractSearch.search method

        Also the SortBy operator should from now on be imported from the the owslib.fes2 package instead of the owslib.fes package. E.g.:

          # change this
          from owslib.fes import SortBy, SortProperty
        
          # into this
          from owslib.fes2 import SortBy, SortProperty
      • The pydov.util.location.GmlObject class now expects GML3.2 geometries instead of GML3.1.1.

        Use GML3.2 objects from now on.

      • The pydov.util.location.GmlFilter class now expects GML3.2 documents instead of GML3.1.1.

        Transform the document to GML3.2 yourself or use a pydov.util.location.GeometryFilter instead.

    • The new WFS 2.0.0 querying also allows paged WFS requests which has impact on a number of hooks:

      • pydov.util.hooks.AbstractReadHook.wfs_search_init` now has a single argument params with all the parameters used to initiate the WFS search.

      • pydov.util.hooks.AbstractReadHook.wfs_search_result now has two arguments number_matched and number_returned. Since there can be multiple (paged) WFS results per search, this hook can now be called multiple times per search query. It can also be called simultaneously from different threads.

      • pydov.util.hooks.AbstractReadHook.wfs_search_result_received is affected in a similar manner: this too can now be called multiple times per search, simultaneously from different threads.

      • pydov.util.hooks.AbstractInjectHook.inject_wfs_getfeature_response is affected as well. This too can now be called multiple times per search, simultaneously from different threads.

  • New features

    • Add support for WFS paging, allowing larger queries. It is now possible to execute queries larger than the WFS response feature limit of 10000 features without running into a FeatureOverflowError. (#194)

      Please be kind to our infrastructure and only request the data you need.

    • Add support for repeatable sessions, allowing recording and replaying of pydov sessions. More information and use cases can be found in the documentation. (#224)

  • Fixes and improvements

    • Fix parsing of datetime fields.
    • Replace unparseable data with NaN and issue a warning. (#368)
    • Raise MetadataNotFoundError when remote metadata fails to be downloaded or parsed.
    • Populate custom fields in all circumstances. (#379)