This release brings official support for xarray.DataTree
, and compatibility with zarr-python v3!
Aside from these two huge features, it also improves support for vectorised interpolation and fixes various bugs.
Thanks to the 31 contributors to this release:
Alfonso Ladino, DWesl, Deepak Cherian, Eni, Etienne Schalk, Holly Mandel, Ilan Gold, Illviljan, Joe Hamman, Justus Magin, Kai MΓΌhlbauer, Karl Krauth, Mark Harfouche, Martey Dodoo, Matt Savoie, Maximilian Roos, Patrick Hoefler, Peter Hill, Renat Sibgatulin, Ryan Abernathey, Spencer Clark, Stephan Hoyer, Tom Augspurger, Tom Nicholas, Vecko, Virgile Andreani, Yvonne FrΓΆhlich, carschandler, joseph nowak, mgunyho and owenlittlejohns
What's Changed
- New whatsnew section by @owenlittlejohns in #9483
- Update pyproject.toml by @TomAugspurger in #9484
open_groups
for zarr backends by @eni-awowale in #9469- Ensure TreeNode doesn't copy in-place by @TomNicholas in #9482
- Make illegal path-like variable names when constructing a DataTree from a Dataset by @etienneschalk in #9378
- DAS-2155 - Merge datatree documentation into main docs. by @owenlittlejohns in #9033
- Forbid modifying names of DataTree objects with parents by @shoyer in #9494
- Fixed formatting for whats-new.rst and added line for
open_groups
with zarr backends. by @eni-awowale in #9493 - Opt out of floor division for float dtype time encoding by @spencerkclark in #9497
- Stateful test: silence DeprecationWarning from drop_dims by @dcherian in #9508
- Turn off survey banner by @jhamman in #9512
- flox: don't set fill_value where possible by @dcherian in #9433
- Fix pandas datetime decoding with NumPy >= 2.0 for small integer dtypes by @spencerkclark in #9518
- Datatree setitem dataset by @TomNicholas in #9516
- Repo review bugbear by @Armavica in #9505
- Make _replace more lenient. by @dcherian in #9517
- Update
compat
error checking to disallow "minimal" inconcat()
by @VeckoTheGecko in #9525 - (fix):
ExtensionArray
+DataArray
roundtrip by @ilan-gold in #9520 - Improve safe chunk validation by @josephnowak in #9527
- Fix DataTree repr to not repeat inherited coordinates by @shoyer in #9532
- cast
numpy
scalars to arrays inas_compatible_data
by @keewis in #9403 - Add
.rolling_exp
onto.rolling
's 'See also' by @max-sixty in #9534 - Update array signatures with copy by @Illviljan in #9529
- Support vectorized interpolation with more scipy interpolators by @hollymandel in #9526
- Add yet an other CI for numpy 2.1 by @hmaarrfk in #9540
- Update donation links by @martey in #9549
- Remove duplicate coordinates with indexes on sub-trees by @shoyer in #9531
- Typos in pandas.rst by @carschandler in #9551
- Fix NamedArray html repr crashing by @Illviljan in #9553
- allow using
__array_function__
as a fallback for missing Array API functions by @keewis in #9530 - Revert "Improve safe chunk validation" by @shoyer in #9558
- Improve safe chunk validation by @josephnowak in #9559
- DOC/ecosystem: Fix tiny typo by @yvonnefroehlich in #9562
- bump
scientific-python/upload-nightly-action
by @keewis in #9566 - towards new h5netcdf/netcdf4 features by @kmuehlbauer in #9509
- Add missing space between sentences in error message by @shoyer in #9563
- Remove superfluous lines from pyright config by @max-sixty in #9569
- Adjust pip extra dependencies by @max-sixty in #9571
- Add numba constraint by @max-sixty in #9572
- Add
.cumulative
tocumsum
&cumprod
docstrings by @max-sixty in #9533 - Remove unneeded indentation by @max-sixty in #9574
- Disable pyright config? by @max-sixty in #9570
- Stop inheriting non-indexed coordinates for DataTree by @shoyer in #9555
- passing missing arguments when opening zarr, hdf5 and netcdft4 datatrees by @aladinor in #9428
- Remove unvetted DataTree methods by @shoyer in #9585
- Remove out of date comment on DataTree inheritance by @shoyer in #9592
- Add support for coordinate inputs in polyfit. by @Karl-Krauth in #9369
- Implement DataTree.isel and DataTree.sel by @shoyer in #9588
- Datatree deduplicate setitem by @TomNicholas in #9602
- Reimplement DataTree aggregations by @shoyer in #9589
- updating group type annotation for netcdf, hdf5, and zarr open_datatree function by @aladinor in #9614
- Rename inherited -> inherit in DataTree.to_dataset by @shoyer in #9615
- Datatree alignment docs by @TomNicholas in #9501
- pin mypy to 1.11.2 by @kmuehlbauer in #9621
- map_over_subtree -> map_over_datasets by @TomNicholas in #9622
- Reimplement Datatree typed ops by @TomNicholas in #9619
- Migration guide for users of old datatree repo by @TomNicholas in #9598
- docs(groupby): mention deprecation of
squeeze
kwarg by @Sibgatulin in #9625 - Add inherit=False option to DataTree.copy() by @shoyer in #9628
- Bug fixes for DataTree indexing and aggregation by @shoyer in #9626
- Add missing
memo
argument to DataTree.deepcopy by @shoyer in #9631 - Type check datatree tests by @TomNicholas in #9632
- Add zip_subtrees for paired iteration over DataTrees by @shoyer in #9623
- DOC: Clarify error message in open_dataarray by @DWesl in #9637
- Updates to DataTree.equals and DataTree.identical by @shoyer in #9627
- Support alternative names for the root node in DataTree.from_dict by @shoyer in #9638
- Fix error and missing code cell in io.rst by @kmuehlbauer in #9641
- Replace black and blackdoc with ruff-format by @Armavica in #9506
- fix zarr intersphinx by @shoyer in #9652
- Re-implement map_over_datasets using group_subtrees by @shoyer in #9636
- Update Datatree html repr to indicate inheritance by @TomNicholas in #9633
- flox: Properly propagate multiindex by @dcherian in #9649
- Fix multiple grouping with missing groups by @dcherian in #9650
- Change URL for pydap test by @dcherian in #9655
- Add close() method to DataTree and use it to clean-up open files in tests by @shoyer in #9651
- Reduce graph size through writing indexes directly into graph for
map_blocks
by @phofl in #9658 - Update to_dataframe doc to match current behavior by @mgunyho in #9662
- Compatibility for zarr-python 3.x by @TomAugspurger in #9552
- support
chunks
inopen_groups
andopen_datatree
by @keewis in #9660 - implement
dask
methods onDataTree
by @keewis in #9670 - fix(zarr): use inplace array.resize for zarr 2 and 3 by @jhamman in #9673
- Use zarr v3 dimension_names by @rabernat in #9669
- fixing behaviour for group parameter in
open_datatree
by @aladinor in #9666 - drop the length from
numpy
's fixed-width string dtypes by @keewis in #9586 - v2024.10.0 release summary by @TomNicholas in #9678
New Contributors
- @VeckoTheGecko made their first contribution in #9525
- @martey made their first contribution in #9549
- @carschandler made their first contribution in #9551
- @Karl-Krauth made their first contribution in #9369
- @Sibgatulin made their first contribution in #9625
Full Changelog: v2024.09.0...v2024.10.0