Releases: DOI-USGS/dataretrieval-python
v1.1.4
v1.1.4 is a feature-and-cleanup release on the waterdata module: five new public getters that bring Python toward parity with the R dataRetrieval package, the formal start of the nwis deprecation (each function now emits a per-call DeprecationWarning naming its waterdata.* replacement; module removal scheduled on or after 2027-05-06), and a long tail of bug fixes across waterdata, nldi, wqp, and the shared utilities. Closes #270.
New waterdata getters
- Add
waterdata.get_peaksfor the annual peak-streamflow OGC collection by @thodson-usgs in #267 - Add
waterdata.get_ratingsfor USGS stage-discharge ratings via STAC by @thodson-usgs in #269 - Add
waterdata.get_field_measurements_metadataby @thodson-usgs in #268 - Add
waterdata.get_combined_metadatafor combined location + time-series inventory by @thodson-usgs in #264 - Add
waterdata.get_samples_summaryfor per-location sample inventory by @thodson-usgs in #262 - Add
waterdata.get_nearest_continuoushelper by @thodson-usgs in #239 - Add CQL
filter/filter_langpassthrough to OGC waterdata getters by @thodson-usgs in #238 - Isolate the filter feature behind a clean rollback flag; flag lex-comparison pitfall by @thodson-usgs in #240
Deprecations and removals
- Deprecate remaining active
nwisfunctions ahead of 2027-05-06 removal by @thodson-usgs in #271 - Deprecate
nadpmodule ahead of 2026-11-01 removal by @thodson-usgs in #243 - Remove
waterwatchmodule by @thodson-usgs in #228 - Simplify defunct stubs and fix O(n²) pagination concats by @thodson-usgs in #225
Bug fixes
- Fix
_arrange_cols: stop mutating the caller'spropertieslist by @thodson-usgs in #254 waterdata.get_stats_data: preserve geometry across continuation pages by @thodson-usgs in #255- Fix
_format_api_dates: parse ISO 8601 datetimes by @thodson-usgs in #247 - Fix
nldi: validate data source on every call, not just cache-miss by @thodson-usgs in #246 nldi: fix several user-visible bugs inget_features,get_flowlines,searchby @thodson-usgs in #252nldi: raiseValueError(notTypeError) for invalid navigation mode by @thodson-usgs in #258- Polish
wqp.py: silence prints, fix exception shape, fix typos by @thodson-usgs in #256 - Fix
wqp.get_results: preserve user-supplied WQX3.0dataProfileby @thodson-usgs in #250 - Fix
get_reference_table: propagatelimitto query args by @thodson-usgs in #248 - Make
_handle_stats_nestingtolerant of missing drop columns by @thodson-usgs in #257 - Fix
IndexErrorin_read_rdbwhen NWIS returns no data rows by @thodson-usgs in #227
Docs and hygiene
- Enrich waterdata getter docstrings with examples adapted from R by @thodson-usgs in #265
- Bump
geopandasin dev requirements to 1.1.2 to remediate GHSA-6497-prx7-gpmq by @Copilot in #235 - Use PEP 639 SPDX license identifier in
pyproject.tomlby @thodson-usgs in #226 - Skip NADP live-API tests (module deprecated) by @thodson-usgs in #259
New Contributors
- @Copilot made their first contribution in #235
Full Changelog: v1.1.3...v1.1.4
v1.1.3
What's Changed
- Query params for get_reference_table by @jessamynsmith in #214
- Add stats service by @ehinman in #207
- Add channel measurement endpoint by @ldecicco-USGS in #218
- Lint and format all files with ruff by @nodohs in #219
- Add pandas 3x, legacy xfails, and samples API key by @thodson-usgs in #221
- Remove Defunct NWIS Functions by @thodson-usgs in #222
- Stabilize NWIS Tests and Improve 5xx Error Handling by @thodson-usgs in #223
- Small cleanups: idiomatic Python and a precedence fix by @thodson-usgs in #224
New Contributors
- @jessamynsmith made their first contribution in #214
- @ldecicco-USGS made their first contribution in #218
Full Changelog: v1.1.2...v1.1.3
v1.1.2
What's Changed
- Restrict pandas 3.0.0 by @nodohs in #212 : <3.0.0 is fine, but we also want to specify that pandas should be at least 2.+. In a future release, we may include 3.0.0 as well, but this is a quick fix to get the new features available on conda-forge.
New Contributors
Full Changelog: v1.1.1...v1.1.2
v1.1.1
What's Changed
- Update README.md imports by @thodson-usgs in #193
- Change limit to 50000 by @ehinman in #197
- Set waterdata data types by @thodson-usgs in #195
- Add continuous endpoint by @ehinman in #199
- Add row ordering by
timeandmonitoring_location_id, if applicable, plus... by @ehinman in #203 - Add py.typed by @davetapley in #186
- add reference tables function by @ehinman in #205
- Add waterdata demo by @ehinman in #208
- Make ref table function way simpler and more efficient by @ehinman in #209
Full Changelog: v1.1.0...v1.1.1
v1.1.0
🎊 New waterdata module added 🎊
This module provides access to USGS's modernized Water Data APIs, serving information such as monitoring location info, daily values, field measurements, timeseries metadata, latest continuous and daily data values, discrete water quality data, and more. Please give the new functions a try and provide feedback via issues.
What's Changed
- Fix gwlevels pcode by @ehinman in #180
- Remove qwdata documentation, tests, etc. and replace with waterdata.get_samples() by @ehinman in #178
- Add waterdata infrastructure by @ehinman in #183
- Fix pathing so new waterdata documentation is available by @ehinman in #189
- Another attempt to fix documentation issues by @ehinman in #190
- Get rid of NLDI import by @ehinman in #191
- Combine two lines of strings by @ehinman in #192
Full Changelog: v1.0.12...v1.1.0
v1.0.12
What's Changed
- Add new module
samples.pythat introduces the newget_usgs_samples()andget_codes()functions by @ehinman and @thodson-usgs in #173
Full Changelog: v1.0.11...v1.0.12
v1.0.11
Warning
v1.0.10 assigned the incorrect datum to gage location data (#169).
The default datum has been changed to EPSG:4269 (NAD 83), even though some gages still use other datums.
What's Changed
- Add NAQWA data pull demo by @kjdoore in #151
- Remove hardcoded format in nwis.get_discharge_measurements by @thodson-usgs in #150
- Rename, fix, and extend NAWQA (NWQN) demo by @thodson-usgs in #153
- Adjust code.json to point to new repo location by @ehinman in #156
- Update maintainers by @thodson-usgs in #159
- Add info about gwlevels service by @ehinman in #160
- Update README.md with some badges by @thodson-usgs in #161
- First crack at changing the url for one function by @ehinman in #152
- Lint and format by @thodson-usgs in #164
- Update code.json to include both dev and official versions by @ehinman in #165
- [#157] Example notebook for NLDI data access by @pkdash in #158
- update nldi service urls by @dblodgett-usgs in #167
- Update GH action tags to most recent release commit hashes by @jzemmels in #168
- fix!: correct
nwismodule GeoDataFrames crs to EPSG:4269 (NAD 83) by @aaraney in #169
New Contributors
- @kjdoore made their first contribution in #151
- @dblodgett-usgs made their first contribution in #167
- @jzemmels made their first contribution in #168
- @aaraney made their first contribution in #169
Full Changelog: v1.0.10...v1.0.11
v1.0.10
What's Changed
- update(nldi.py): Add CRS information to GeoDataFame objects by @jlarsen-usgs in #142
- Remove coveralls link by @thodson-usgs in #145
- feat(geopandas support): return GeoDataFrame if geopandas is installed by @jlarsen-usgs in #143
- Adjust gwlevels URL services by @ehinman in #147 - adjusted due to discontinuation of GW levels RDB/WaterML2 endpoints, which caused breaking changes to the
gwlevelsservice. See Water Data for the Nation blog post for more information.
New Contributors
- @jlarsen-usgs made their first contribution in #142
Full Changelog: v1.0.9...v1.0.10
v1.0.9
What's Changed
This release adds some links to the REST doc and a convenience dictionary of state FIPS codes.
- Tutorial prep by @thodson-usgs in #140
Full Changelog: v1.0.8...v1.0.9
v1.0.8
What's Changed
Package for Python 3.12
- Add python3 kernel for doc build by @thodson-usgs in #138
Full Changelog: v1.0.7...v1.0.8