Releases: CSHS-CWRA/RavenPy
Releases · CSHS-CWRA/RavenPy
v0.19.1
Breaking changes
scipyis no longer pinned below v1.16.0, as newerstatsmodelsis now compatible with modernscipyversions. (PR #524)blackandisorthave been replaced withrufffor code formatting and linting. This change simplifies the development workflow and improves code consistency. (PR #525).
Internal changes
- Updates the notebooks and re-runs all of them to ensure they are working with latest libraries. (PR #524)
- Adds a few missing testing data files to the
poochregistry.txtfile that are necessary for running the notebooks. (PR #524) - Slightly adjusted CI workflows for security and behaviour improvements. (PR #524)
- Obsolete support code for handling older
owslibversions has been removed fromravenpy.utilities.geoserver. (PR #525). - Code formatting and linting rules have been modified to use the newer
ruffconfigurations. The formatting changes have been effected in the entire codebase. (PR #525).
v0.19.0
New features
- Added
parsers.parse_rvto extract a Command value from an RV file. (PR #503) - New module
ravenpy.testinghas been added to provide utility functions and support for testing and testing data management. (PR #513)
Breaking changes
ravenpynow requirespooch>=1.8.0for downloading and caching remote testing data. (PR #513)ravenpy.utilities.testdatahas been refactored to new moduleravenpy.testing. Thepublish_release_notesfunction is now located inravenpy.utilities.publishing. (PR #513)- The
ravenpy.testing.utilsmodule now provides ayangtze()class for fetching and caching theraven-testdatatesting data. A convenience function (get_file) replaces the previousget_local_testdata. (PR #513) - The
ravenpy.testing.utils.open_datasetfunction no longer supports OPeNDAP URLs or local file paths. Instead, it uses theyangtze()class to fetch datasets from the testing data repository or the local cache. Users should now usexarray.open_dataset()directly for OPeNDAP URLs or local files. (PR #513)
Bug fixes
- Fixed bug affecting
GriddedForcing, wherestation_idxin the call tonc_specswas set to1instead ofNone. (PR #501) - Fixed bug in the
runmethod, whereoverwrite=Falsewas not being respected. (PR #503) - Pin
scipybelow v1.16.0 due to a breaking change that affectsstatsmodelsbelow v0.14.4. (PR #521)
Internal changes
ravenpynow requiresxclim>=0.57.0andxsdba(v0.4.0+). (PR #511)- The
testsfolder no longer contains an__init__.pyfile and is no longer treated as a package.pytestfixtures fromemulators.pyare now directly imported intoconftest.pyfor use in tests, and existingpytestfixtures have been modified to use the newyangtze()class for fetching testing data. (PR #513)
v0.18.2
New features
- Added
RelativeHumidityMethodto RVIs. (PR #490). - Add
parsemethods toLineCommand,SubBasins,HRUs,Reservoir,SubBasinGroup,ChannelProfile. (PR #492). - Tweak the
GridWeightExtractorto support datasets from the Canadian River and Lake Hydrofabric. Allows setting therouting_id_fieldto__INDEX__in order to match HRU IDs. (PR #492). - Add support for
Rechargeprocess. (PR #492).
v0.18.1
New features
ravenpyno longer installsraven-hydroby default. The Raven model executable can now be provided by explicitly setting theRAVENPY_RAVEN_BINARY_PATHenvironment variable. (PR #486).
Bug fixes
- Fixed a bug in
ravenpy.utilities.regionalization.multiple_linear_regressionthat was calling a class method incorrectly. (PR #484).
Internal changes
pydaphas been pinned below v3.5.5 temporarily untilxarrayoffers support for it. (PR #486).- More than 7500 DeprecationWarnings emitted during the testing suite have been addressed. Minimum supported
pydantichas been raised to v2.11. (PR #487). - Regenerated the notebook outputs using newer version of
xclim. (PR #484).
v0.18.0
New features
ravenpynow supports Python3.13. (PR #459)- Updated
raven-hydroto v0.4.0 (RavenHydroFrameworkv4.0.1). (PR #459) - Updated
xclimto v0.54.0,pintto v0.24.4, andnumpyto v1.24.0 (no longer pinned below v2.0). (PR #459) ravenpyis now registered with the Open Source Security Foundation (OSSF) Best Practices initiative (RavenPy OpenSSF-BP Status). (PR #464)ravenpynow enables new EvaluationMetrics commands in the model configuration. Other features fromRavenHydroFrameworkwill be included in newer releases. (PR #476)
Bug fixes
- Fix bug in _MonthlyRecord class definition crashing the pydantic-autodoc serialization. (PR #458)
- Fixed a small API bug in the
Comparing_hindcasts_and_ESP_forecasts.ipynbnotebook. (PR #463) - The
Ravenmodel previously always reported version "3.7", regardless of the installedRavenversion. It now usesraven-hydro's__raven_version__attribute. (PR #464)
Internal changes
- Updated the cookiecutter template to the latest commit: (PR #454)
- GitHub Actions and Python dependencies have been updated.
- New
pre-commithooks forvulture(find dead code) andcodespell(spelling errors). - Removed several
type: ignorestatements. - Spelling errors in documentation have been addressed.
- GitHub Workflows now test
ravenpyusing macOS as well as Python3.13. (PR #459) - Several small deprecation and usage warnings as well as a few variable typing issues have been addressed. (PR #464)
- Updated the license to reflect current year. (PR #476)
- Documentation version now supports showing hyphens in the version number. (PR #476)
- Call signatures and docstrings of functions have been modified to be more precise for the expected variable type. (PR #476)
v0.17.0
- Updated the cookiecutter template to the latest commit and synchronized dependencies between PyPI and Anaconda recipes. (PR #427)
- Updated
ts_fit_graphlogic formatplotlib>= 3.10.0 compatibility. (PR #434) - Temporarily pinned
pygmentsbelow v2.19 due to a breaking change affectingsphinx-codeautolink. (PR #434) - Adopted a new RavenPy logo for the documentation. (PR #428)
- Documentation Updates: (PR #436)
- Cleaner imports, removed some unneeded library imports.
- Typo and grammar fixes.
- Updated the Python, Anaconda, and Ubuntu versions used to generate the documentation.
- Small import fixes and minor code cleanup (
ravenpy.extractors). (PR #436) - Adjusted pins for
intake,intake-esmandzarrto ensure notebooks run correctly. (PR #440) - Added a Security Policy (
SECURITY.md) to the repository. (PR #441) - Updated the cookiecutter template to the latest commit: (PR #444)
- Workflows now use Checkout with
persist-credentials: false. - CodeQL workflow has been updated.
pre-commithooks forvulture(finding dead code) andzizmor(finding security vulnerabilities) have been added.
- Workflows now use Checkout with
v0.16.1
What's Changed
- Minor reformatting and changes to the HBVEC emulator by @lou-a in #410
- Bump bump-my-version from 0.26.1 to 0.28.0 by @dependabot in #414
- Bump tox from 4.21.0 to 4.23.2 by @dependabot in #412
- Bump flit from 3.9.0 to 3.10.1 by @dependabot in #416
- Bump pip from 24.2.0 to 24.3.1 by @dependabot in #413
- Bump the actions group in /.github/workflows with 7 updates by @dependabot in #415
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #417
- Update notebooks to work with changes to dask chunking, adapt to new Raven code conventions by @Zeitsperre in #395
- Fix issue #418. Unpin pymbolic. Resolve pydantic deprecation warnings by @huard in #420
- Bump bump-my-version from 0.28.0 to 0.28.1 by @dependabot in #421
- Bump pydantic from 2.9.2 to 2.10.2 by @dependabot in #422
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #424
- Bump the actions group in /.github/workflows with 5 updates by @dependabot in #423
- Prepare v0.16.1 by @Zeitsperre in #425
- Update allowed port connections by @Zeitsperre in #426
Full Changelog: v0.16.0...v0.16.1
v0.16.0
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #383
- Bump step-security/harden-runner from 2.8.1 to 2.9.0 by @dependabot in #388
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #389
- Bump step-security/harden-runner from 2.9.0 to 2.9.1 by @dependabot in #391
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #392
- Remove requests library, fix pyogrio calls, synchronize deps by @Zeitsperre in #394
- Update Cookiecutter by @Zeitsperre in #386
- Build fixes by @Zeitsperre in #400
- Bump the actions group in /.github/workflows with 4 updates by @dependabot in #398
- Bump bump-my-version from 0.26.0 to 0.26.1 by @dependabot in #399
- Bump pydantic from 2.8.2 to 2.9.2 by @dependabot in #397
- Bump tox from 4.18.0 to 4.21.0 by @dependabot in #402
- Bump tox-gh from 1.3.2 to 1.4.1 by @dependabot in #403
- Update routing_product.py by @lou-a in #401
- HBV-EC emulator improvements by @lou-a in #404
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #405
- HBVEC emulator improvement by @lou-a in #408
- Add SVG converter, fix PDF rendering on ReadTheDocs by @Zeitsperre in #407
- Prepare v0.16.0 by @Zeitsperre in #409
New Contributors
Full Changelog: v0.15.0...v0.16.0
v0.15.0
What's Changed
- WPS returns datasets : access
band_datavariable by @tlogan2000 in #356 - Fixed issue with Config.duplicate. Added test. by @huard in #367
- Bump step-security/harden-runner from 2.7.1 to 2.8.0 by @dependabot in #369
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #373
- Pin pint below v0.24 by @Zeitsperre in #375
- Bump step-security/harden-runner from 2.8.0 to 2.8.1 by @dependabot in #374
- Fallback in test if raven_hydro is not installed by @huard in #372
- Update to raven-hydro v0.3.1 (RHF 3.8.1), drop Python3.8 conventions, address warnings by @Zeitsperre in #378
- Prepare v0.15.0 by @Zeitsperre in #380
Full Changelog: v0.14.1...v0.15.0
v0.14.1
What's Changed
- Update dependencies, stabilize test by @Zeitsperre in #358
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #355
- Bump step-security/harden-runner from 2.7.0 to 2.7.1 by @dependabot in #359
- Bug fix for notebooks by @huard in #360
- Pin pyogrio by @Zeitsperre in #363
- Prepare v0.14.1 by @Zeitsperre in #364
Full Changelog: v0.14.0...v0.14.1