-------------------
New Features
~~~~~~~~~~~~
- Rewrite the ``GeoConnex`` class to provide access to new capabilities
of the web service. Support for spatial queries have been added via
CQL queries. For more information, check out the updated GeoConnex example
`notebook <https://github.com/hyriver/HyRiver-examples/blob/main/notebooks/geoconnex.ipynb>`__.
- Add a new property to ``StreamCat``, called ``metrics_df`` that gets
a dataframe of metric names and their description.
- Create a new private ``StreamCatValidator`` class to avoid polluting
the public ``StreamCat`` class with private attributes and methods.
Moreover, add a new alternative metric names attribute to ``StreamCat``
called ``alt_names`` for handling those metric names that do not follow
``METRIC+YYYY`` convention. This attribute is a dictionary that maps the
alternative names to the actual metric names, so users can use
``METRIC_NAME`` column of ``metrics_df`` and add a year suffix from
``valid_years`` attribute of ``StreamCat`` to get the actual metric name.
- In ``navigate_by*`` functions of ``NLDI`` add ``stop_comid``,
which is another criterion for stopping the navigation in addition
to ``distance``.
- Improve ``UserWarning`` messages of ``NLDI`` and ``WaterData``.
Breaking Changes
~~~~~~~~~~~~~~~~
- Remove ``pynhd.geoconnex`` function since more functionality has been
added to the GeoConnex service that existence of this function does not
make sense anymore. All queries should be done via ``pynhd.GeoConnex``
class.
- Rewrite ``NLDI`` to improve code readability and significantly improving
performance. Now, its methods do now return tuples if there are failed
requests, instead they will be shown as a ``UserWarning``.
- 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.