v0.6.0
Contributors: Éric Dupuis (@coxipi), Trevor James Smith (@Zeitsperre), Pascal Bourgault (@aulemahal), Juliette Lavoie (@juliettelavoie).
Changes
numpy>=1.26 andnumba>=0.58.1 are now required. (PR/231).xsdbanow officially supports Python 3.14 andpandas>=3.0. (GH/251, :PR/252).
Fixes
xsdba.adjustment.ExtremeValuesnow throws an error with a clear message when the clustered precipitation exceed1-q_thresh.
This happens whencluster_threshis too small (still in the bulk of the distribution). (GH/177, PR/184).xsdba.properties.spectral_variancenow works with adeltathat is notNone. (PR/217).xsdba.loess.loess_smoothingfixed for cases when the input has many zeros. (GH/100, PR/208).- Fixed an issue with attribute fields added to normalized arrays under newer
xarrayversions. (PR/223). xsdba.processing.spectral_filternow works with alambda_longandlambda_shortthat are notNone. (PR/220).- Prepend history of operations within dataset attributes instead of appending them. (PR/238).
xsdba._processing._adapt_freqnow avoids inserting nans. This was solved using(dP0 <= 0)| (dP0.isnull())and notdP0 < 0as a condition. (PR/239, GH/248, PR/249).xsdba.properties.decorrelation_lengthnow handles all-nan slices correctly. (GH/255, PR/256).
Internal changes
- Removed the
benchmark.ipynbnotebook from the documentation as it was specifically written for benchmarking purposes. (GH/167, PR/206). - Removed the API references to ensure that the documentation favours the user guide for learning how to use
xsdbaand the module index for finding specific functions/classes. (GH/63, PR/206) - Adjusted docstrings to allow
flake8violations (RST210andRST213;\*\*and\*syntax) in docstrings andpylintexceptions for titles with underbars. (GH/167, PR/206) - Updated the cookiecutter template to use the latest version of
cookiecutter-pypackage. (PR/205):- Added a
CITATION.cfffile for better citation metadata. - Replace
black,blackdocsandisortpre-commit hooks withruff. - Updated Contributor Covenant Agreement to v3.0.
- Various updates to CI dependencies and configurations.
- Added a
- The minimum supported
pytestis now v9.0 and above.pytestconventions and configurations have been updated to use the new TOML format. (PR/231). - Many
DeprecationWarningAPI changes from dependencies have been addressed. (PR/250):- Replaced
xarray.cftime_rangewithxarray.date_range(..., use_cftime=True). - Import check for
numpy.trapezoid(replacement ofnumpy.trapz). - Refactored
grouped_time_indexesto useGroupBy.mapinstead ofGroupBy.apply.
- Replaced