Changelog#
v0.3.5 (2024-03-20)#
Contributors to this version: Trevor James Smith (@Zeitsperre), Thomas-Charles Fortier Filion (@TC-FF), Sébastien Langlois (@sebastienlanglois), Gabriel Rondeau-Genesse (@RondeauG).
New features and enhancements#
Internal changes#
Added a workflow based on actions/labeler to automatically label Pull Requests based on files changed. (PR/68).
Added a conditional trigger to the test-notebooks job to run in advance of pull request approval in the event that the notebooks found within docs/notebooks have been modified (labeled “notebooks”). (PR/68).
- Significant changes to the Continuous Integration (CI) setup. (PR/65):
Added a workflow configuration using
label_on_approval.yml
and modifications ofmain.yml
so that fewer tests are run on Pull Requests before they are fully approved.Added some pre-commit configurations to both clean up the code within notebooks (NbQA) and strip their outputs (nbstripout).
tox is now fully v4.0-compliant.
Added a Makefile recipe to facilitate installation of esmpy when esmf is installed and visible on the $PATH.
Added a Makefile recipe for running tests over Jupyter notebooks.
Synchronized dependencies between pyproject.toml and conda configuration files.
Moved the notebooks under a Usage section in the documentation. (GH/114, PR/118).
v0.3.4 (2024-02-29)#
Contributors to this version: Trevor James Smith (@Zeitsperre), Thomas-Charles Fortier Filion (@TC-FF), Gabriel Rondeau-Genesse (@RondeauG).
New features and enhancements#
Added French language support to the documentation. (GH/53, PR/55).
Added a new set of functions to support creating and updating pooch registries, caching testing datasets from hydrologie/xhydro-testdata, and ensuring that testing datasets can be loaded into temporary directories. (PR/62).
xhydro is now configured to use pooch to download and cache testing datasets from hydrologie/xhydro-testdata. (PR/62).
xhydro is now Semantic Versioning v2.0.0 compliant. (PR/70).
Added new functions to xhydro.frequency_analysis.local to calculate plotting positions and to prepare plots. (PR/87).
xscen now supports Python3.12. (PR/99).
xscen now supports pandas >= 2.2.0, xarray >= 2023.11.0, and xclim >= 0.47.0. (PR/99).
Added xh.cc.sampled_indicators to compute future indicators using a perturbation approach and random sampling. (PR/54).
Breaking changes#
Added pooch as an installation dependency. (PR/62).
xhydro now requires xarray>=2023.11.0, xclim>=0.48.2, xscen>=0.8.3, and, indirectly, pandas>=2.2.0. The main breaking change is in how yearly frequencies are called (‘YS-’ instead of ‘AS-‘). (PR/54).
Functions that output a dict with keys as xrfreq (namely,
xh.indicators.compute_indicators
) will now return the new nomenclature (e.g. “YS-JAN” instead of “AS-JAN”). (PR/54).
Internal changes#
- Added a new module for testing purposes: xhydro.testing.helpers with some new functions. (PR/62):
generate_registry: Parses data found in package (xhydro.testing.data), and adds it to the registry.txt
load_registry: Loads installed (or custom) registry and returns dictionary
populate_testing_data: Fetches the registry and optionally caches files at a different location (helpful for pytest-xdist).
Added a pre-commit hook (numpydoc) to ensure that numpy docstrings are formatted correctly. (PR/62).
- The cookiecutter has been updated to the latest commit (PR/70, PR/106):
Added some workflows (Change file labelling, Cache cleaning, Dependency scans, OpenSSF Scorecard).
The README has been updated to organize badges in a table, including a badge for the OpenSSF Scorecard.
Updated pre-commit hook versions to the latest available.
Formatting tools are now pinned to their pre-commit equivalents.
actions-version-updater.yml has been replaced by dependabot.
Addressed a handful of misconfigurations in the workflows.
Updated ruff to v0.2.0 and black to v24.2.0.
Added a few functions missing from the API to their respective modules via
__all__
. (PR/99).
v0.3.0 (2023-12-01)#
Contributors to this version: Gabriel Rondeau-Genesse (@RondeauG), Trevor James Smith (@Zeitsperre).
New features and enhancements#
Breaking changes#
xhydro now adheres to PEPs 517/518/621 using the flit backend for building and packaging. (PR/50).
Bug fixes#
Internal changes#
Added xhydro.testing.utils.publish_release_notes() to help with the release process. (PR/37).
xh.frequency_analysis.local.parametric_quantiles() and xh.frequency_analysis.local.criteria() are now lazier. (GH/41, PR/43).
- The cookiecutter template has been updated to the latest commit via cruft. (PR/50):
Manifest.in and setup.py have been removed.
pyproject.toml has been added, with most package configurations migrated into it.
HISTORY.rst has been renamed to CHANGES.rst.
actions-version-updater.yml has been added to automate the versioning of the package.
bump-version.yml has been added to automate patch versioning of the package.
pre-commit hooks have been updated to the latest versions; check-toml and toml-sort have been added to cleanup the pyproject.toml file.
ruff has been added to the linting tools to replace most flake8 and pydocstyle verifications.
v0.2.0 (2023-10-10)#
Contributors to this version: Trevor James Smith (@Zeitsperre), Gabriel Rondeau-Genesse (@RondeauG), Thomas-Charles Fortier Filion (@TC-FF), Sébastien Langlois (@sebastienlanglois)
Announcements#
New features and enhancements#
GitHub Workflows for automated testing using tox have been added. (PR/11).
Support for various xscen functions has been added to compute indicators and various climate change metrics. (PR/21).
New function xh.indicators.compute_volume to convert streamflow data to volumes. (PR/20, PR/27).
New function xh.indicators.get_yearly_op to compute block operation (e.g. block maxima, minima, etc.). (PR/20, PR/27).
Breaking changes#
Bug fixes#
N/A
Internal changes#
Added a Pull Request template. (PR/14).
- Various updates to the autogenerated boilerplate (Ouranosinc/cookiecutter-pypackage) via cruft. (PR/11, PR/12, PR/13):
General updates to pre-commit hooks, development dependencies, documentation.
Added configurations for Pull Request and Issues templates, Zenodo.
Documentation now makes use of sphinx directives for usernames, issues, and pull request hyperlinks (via sphinx.ext.extlinks). (GH/15).
GitHub Workflows have been added for automated testing, and publishing.
Some sphinx extensions have been added/enabled (sphinx-codeautolink, sphinx-copybutton).
Automated testing with tox now updated to use v4.0+ conventions.
Removed all references to travis.ci.
Deployments to TestPyPI and PyPI are now run using GitHub Workflow Environments as a safeguarding mechanism. (PR/28).
xhydro now uses the trusted publishing mechanism for PyPI and TestPyPI deployment. (PR/32).
Added tests. (PR/27).
0.1.2 (2023-05-10)#
First release on PyPI.