Changelog

Unreleased (latest)

Contributors: Trevor James Smith (@Zeitsperre), Éric Dupuis (@coxipi), Juliette Lavoie (@juliettelavoie)

Changes

  • Speed up import by activating cache=True for in numba-accelerated functions from xsdba.nbutils. (PR/135).

  • Added a new installation recipe (pip install xsdba[sbck]) for installing the SBCK package. (PR/139):
    • Note that SBCK support is experimental and that the pybind11 library must be installed prior to installing SBCK.

  • New functions related to spectral properties in Fourier space:
    • Perform a spectral filter with xsdba.processing.spectral_filter with a low-pass filter with a cosine-squared profile by default. (PR/88).

    • New spatial diagnostic to compute the spectral variance of a given field xsdba.properties.spectral_variance. (PR/88).

Fixes

  • Fix xsdba.base.get_coordinates to avoid using a private xarray function.(PR/147, GH/148).

Internal changes

  • The tox and CI configurations now support the installation of SBCK and Eigen3 for testing purposes. (PR/139).

  • The coveralls tox keyword has been renamed to coverage to avoid confusion with the coveralls service. (PR/139).

v0.4.0 (2025-04-03)

Contributors: Trevor James Smith (@Zeitsperre), Jan Haacker (@j-haacker), Éric Dupuis (@coxipi).

Changes

  • xsdba now supports Python3.13. Metadata and CI have been adjusted. (PR/105).

  • Unpinned numpy and raised minimum supported versions of a few scientific libraries. (PR/105).

  • More code that needed to be ported from xclim has been added. This includes mainly documentation, as well as testing utilities and a benchmark notebook. (PR/107).

Fixes

  • For fastnanquantile, POT, and xclim have been added to a new extras install recipe. All dependencies can be installed using the $ python -m pip install xsdba[all] command. Documentation has been added. (PR/105).

  • Several small dask-related issues (chunking behaviour, dimension order when broadcasting variables, lazy array preservation) have been fixed. (GH/112, GH/113, PR/114).

  • xsdba.processing.escore now correctly handles all-nan slices. (GH/109, PR/108).

  • xsdba now uses directly operator instead of using xarray’s derived get_op function. A refactoring in xarray had changed the position of get_op which caused a bug. (PR/120).

  • For more than 1000 quantiles, fastnanquantile is not used anymore, as it would throw an error. (GH/119, PR/123).

  • Grouper now throws an error if group=’time’ is used with window>1. (GH/104, PR/122).

Internal changes

  • tox has been configured to test Python3.10 builds against numpy >=1.24.0,<2.0 in the GitHub Workflow pipeline. Passing the numpy keyword to tox ($ tox -e py3.10-numpy) will adjust the build. (PR/105).

  • Authorship and Zenodo metadata have been updated. Order of contributions is now developers followed by contributors in alphabetical order. (PR/116).

  • MBCn.adjust now re-performs the check on ref and hist to ensure they have compatible time arrays (the check is done a second time in adjust since ref and hist are given again). (PR/118).

  • Updated docs dependencies to use sphinx>=8.2.2. (PR/133).

v0.3.2 (2025-03-06)

Contributors: Trevor James Smith (@Zeitsperre).

Fixes

  • Packaging and security adjustments. (PR/106):
    • Added deptry, codespell, vulture, and yamllint to the dev dependencies.

    • Added a few transitive dependencies (packaging, pandas) to the core dependencies.

    • Added fastnanquantile to the dev dependencies (to be placed in an extras recipe for xsdba v0.4.0+).

    • Configured deptry to handle optional imports.

    • A new Makefile command lint/security has been added (called when running $ make lint).

    • Updated tox.ini with new linting dependencies.

v0.3.1 (2025-03-04)

Contributors: Trevor James Smith (@Zeitsperre).

Changes

  • Added POT to the development dependencies. (PR/96).

Fixes

  • Adjusted the documentation dependencies and the sphinx configuration to fix the ReadTheDocs build. (PR/96).

v0.3.0 (2025-03-04)

Contributors: Pascal Bourgault (@aulemahal), Éric Dupuis (@coxipi), Trevor James Smith (@Zeitsperre).

Announcements

  • xsdba is now available as a package on the Anaconda conda-forge channel. (PR/82).

Changes

  • Remove the units registry declaration and instead use whatever is set as pint’s application registry. Code still assumes it is a registry based upon the one in cf-xarray (which exports the cf formatter). (GH/44, PR/57).

  • Updated the cookiecutter template to use the latest version of cookiecutter-pypackage. (PR/71):
    • Python and GitHub Actions versions have been updated.

    • Now using advanced CodeQL configuration.

    • New pre-commit hooks for vulture (find dead code), codespell (grammatical errors), zizmor (workflow security), and gitleaks (token commit prevention).

    • Corrected some minor spelling and security issues.

  • Added upstream testing to the CI pipeline for both daily and push events. (PR/61).

  • Import last changes in xclim before the embargo (PR/80).

  • xsdba has begun the process of adoption of the OpenSSF Best Practices checklist. (PR/82).

  • xclim migration guide added. (GH/62, PR/86).

  • Add a missing dOTC example to documentation. (PR/86).

  • Add a new grouping method specific for MBCn which called by passing group=Grouper(“5D”, window=n) where n is an odd positive integer. (PR/79).

Fixes

  • Gave credits to the package to all previous contributors of xclim.sdba. (GH/58, PR/59).

  • Pin sphinx-codeautolink to fix ReadTheDocs and correct some docs errors. (PR/40).

  • Removed reliance on the netcdf4 package for testing purposes. The h5netcdf engine is now used for file IO operations. (PR/71).

  • Changes to reflect the change of library name xsdba. (PR/72).

  • Revert changes to allow using group=”time.dayofyear” and interp=”linear” in adjustment methods. (PR/86).

v0.2.0 (2025-01-09)

Contributors: Éric Dupuis (@coxipi), Trevor James Smith (@Zeitsperre).

Changes

  • Split sdba from xclim into its own standalone package. Where needed, some common functionalities were duplicated: (PR/8)
    • xsdba.units is an adaptation of the xclim.core.units modules.

    • Many functions and definitions found in xclim.core.calendar have been adapted to xsdba.base.

  • Dependencies have been updated to reflect the new package structure. (PR/45).

  • Updated documentation configuration: (PR/46)
    • Significant improvements to the documentation content and layout.

    • Now using the furo theme for sphinx.

    • Notebooks are now linted and formatted with nbstripout and nbqa-black.

    • CSS configurations have been added for better rendering of the documentation and logos.

  • Added the vulture linter (for identifying dead code) to the pre-commit configuration. (PR/46).

v0.1.0

Contributors: Trevor James Smith (@Zeitsperre)

Changes

  • First release on PyPI.