-------------------
New Features
~~~~~~~~~~~~
- Add support for the National Levee Dataset (NLD) from the USACE. The new
class is called ``NLD`` and gives users the ability to subset the NLD
dataset by geometry, ID, or SQL queries. The class has three methods:
``bygeom``, ``byids``, and ``bysql``.
Enhancements
~~~~~~~~~~~~
- Add a new argument to ``EHydro`` for passing a directory to store the
raw downloaded data. This is useful since most times the raw data is
needed for further processing and reuse. So, by storing them in a folder
other than its previous default location, i.e., ``./cache``, users can
easily access and manage them.
Internal Changes
~~~~~~~~~~~~~~~~
- Add the ``exceptions`` module to the high-level API to declutter
the main module. In the future, all exceptions will be raised from
this module and not from the main module. For now, the exceptions
are raised from both modules for backward compatibility.
- Switch to using the ``src`` layout instead of the ``flat`` layout
for the package structure. This is to make the package more
maintainable and to avoid any potential conflicts with other
packages.
- Add artifact attestations to the release workflow.
- Move ``NID`` class to the ``nid`` module to make the package more
organized and the main module less cluttered.