This release drops support for Python 3.9, and adds support for grouping by multiple arrays, while providing numerous performance improvements and bug fixes.
Thanks to the 33 contributors to this release:
Alfonso Ladino, Andrew Scherer, Anurag Nayak, David Hoese, Deepak Cherian, Diogo Teles Sant'Anna, Dom, Elliott Sales de Andrade, Eni, Holly Mandel, Illviljan, Jack Kelly, Julius Busecke, Justus Magin, Kai Mühlbauer, Manish Kumar Gupta, Matt Savoie, Maximilian Roos, Michele Claus, Miguel Jimenez, Niclas Rieger, Pascal Bourgault, Philip Chmielowiec, Spencer Clark, Stephan Hoyer, Tao Xin, Tiago Sanona, TimothyCera-NOAA, Tom Nicholas, Tom White, Virgile Andreani, oliverhiggs and tiago
What's Changed
- post-release cleanup by @keewis in #9290
- Fix
DataTree.from_dict
to be insensitive to insertion order by @TomNicholas in #9292 - Increased verbosity for Value Error raised if backend not installed by @jbusecke in #9294
- DOC: Add note to docs on DataTree root-group naming conventions by @kmuehlbauer in #9298
- DOC: fix minimum dependency versions in getting started guide by @kmuehlbauer in #9306
- Add grib2io to ecosystem.rst by @TimothyCera-NOAA in #9304
- added kerchunk as backend documentation by @Anu-Ra-g in #9163
- cftime: Fix resampling when time contains
0001-01-01
by @dcherian in #9116 - Add missing spacing in documentation by @domdent in #9318
- Use assert_duckarray_allclose instead of rounding the array by @Illviljan in #9313
- Fix some dask tests by @dcherian in #9321
- Verbose error handling for non-valid duckarrays by @Illviljan in #9314
- Fix pirate arrgragation by @clausmichele in #9328
- Remove ignores due to pandas-stubs by @Illviljan in #9329
- Use duck array ops for
around
andround
by @tomwhite in #9326 - fix: github workflow vulnerable to script injection by @diogoteles08 in #9331
- xfail np.cross tests; force numpy>=2 in main CI by @dcherian in #9356
- try to fix scheduled hypothesis test by @dcherian in #9358
- Revise by @Tao-VanJS in #9357
- drop support for
python=3.9
by @keewis in #8937 - whats-new entry for dropping python 3.9 by @keewis in #9359
- Fix rechunking to a frequency with empty bins. by @dcherian in #9364
- Revise by @Tao-VanJS in #9366
- Adding open_groups to BackendEntryPointEngine, NetCDF4BackendEntrypoint, and H5netcdfBackendEntrypoint by @eni-awowale in #9243
- Remove duplicate word from docs by @JackKelly in #9367
- Revise by @Tao-VanJS in #9371
- Make chunk manager an option in
set_options
by @tomwhite in #9362 - Add flaky to TestNetCDF4ViaDaskData by @Illviljan in #9373
- Improve error message for missing coordinate index by @nicrie in #9370
- Improve error message on
ds['x', 'y']
by @max-sixty in #9375 - Fix tests on big-endian systems by @QuLogic in #9380
- passing missing parameters to ZarrStore.open_store when opening a datatree by @aladinor in #9377
- Combine
UnsignedIntegerCoder
andCFMaskCoder
by @djhoese in #9274 - refactor GroupBy internals by @dcherian in #9389
- Extend padding functionalities by @tsanona in #9353
- pyarrow dependency added to doc environment by @hollymandel in #9394
numpy 2
compatibility in thepydap
backend by @Mikejmnez in #9391- Adds copy parameter to array for numpy 2.0 by @andrew-s28 in #9393
- Encode/decode property tests use variables() by @dcherian in #9401
- GroupBy(multiple groupers) by @dcherian in #9372
- Use
python-build
instead ofbuild
in benchmark workflow by @philipc2 in #9406 - fix the failing
pre-commit.ci
runs by @keewis in #9411 - [skip-ci] Speed up docs build by limiting toctrees by @dcherian in #9395
- Accessibility: Add keyboard handling for XArray HTML view by @srijan55 in #9412
- Don't specify a subdir in mypy CI cli by @max-sixty in #9416
- Upgrade mypy to 1.11 by @max-sixty in #9417
- Use EllipsisType by @max-sixty in #9418
- Byte attr support by @hollymandel in #9407
- copy the data of the
DatetimeIndex
in theDataset.chunk
-by-frequency tests by @keewis in #9419 - Don't return IndexVariable with .dt accessor by @dcherian in #9415
- GroupBy(multiple strings) by @dcherian in #9414
- Avoid deep-copy when constructing groupby codes by @dcherian in #9429
- Always include at least one category in random test data by @shoyer in #9436
- Bump minimum versions for dependencies by @dcherian in #9434
- Shallow copy parent and children in DataTree constructor by @TomNicholas in #9297
- Support additional dtypes in
resample
by @oliverhiggs in #9413 - Disallow passing a DataArray as data into the DataTree constructor by @shoyer in #9444
- DataTree should not be "Generic" by @shoyer in #9445
- Fix typos across the code, doc and comments by @Armavica in #9443
- Make the first argument in DataTree.from_dict positional only by @shoyer in #9446
- Add ASV for datatree.from_dict by @Illviljan in #9459
- Implement
DataTree.__delitem__
by @TomNicholas in #9453 - Fix inheritance in DataTree.copy() by @shoyer in #9457
- Remove parent argument from DataTree.init by @TomNicholas in #9465
- Add days_in_year and decimal_year to dt accessor by @aulemahal in #9105
- Repo checker by @Armavica in #9450
- Update DataTree repr to indicate inheritance by @shoyer in #9470
- Rename DataTree's "ds" and "data" to "dataset" by @shoyer in #9476
- Fix
DataTree.coords.__setitem__
by addingDataTreeCoordinates
class by @TomNicholas in #9451 - Release notes for v2024.09.0 by @owenlittlejohns in #9480
New Contributors
- @TimothyCera-NOAA made their first contribution in #9304
- @Anu-Ra-g made their first contribution in #9163
- @domdent made their first contribution in #9318
- @diogoteles08 made their first contribution in #9331
- @Tao-VanJS made their first contribution in #9357
- @JackKelly made their first contribution in #9367
- @tsanona made their first contribution in #9353
- @hollymandel made their first contribution in #9394
- @Mikejmnez made their first contribution in #9391
- @andrew-s28 made their first contribution in #9393
- @philipc2 made their first contribution in #9406
- @srijan55 made their first contribution in #9412
- @oliverhiggs made their first contribution in #9413
- @Armavica made their first contribution in #9443
Full Changelog: v2024.07.0...v2024.09.0