Releases: pydata/xarray
v2024.07.0
This release extends the API for groupby operations with various grouper objects, and includes improvements to the documentation and numerous bugfixes.
Thanks to the 22 contributors to this release:
Alfonso Ladino, ChrisCleaner, David Hoese, Deepak Cherian, Dieter Werthmüller, Illviljan, Jessica Scheick, Joel Jaeschke, Justus Magin, K. Arthur Endsley, Kai Mühlbauer, Mark Harfouche, Martin Raspaud, Mathijs Verhaegh, Maximilian Roos, Michael Niklas, Michał Górny, Moritz Schreiber, Pontus Lurcock, Spencer Clark, Stephan Hoyer and Tom Nicholas
What's Changed
- new whats-new section by @keewis in #9115
- Move Sphinx directives out of
See also
by @max-sixty in #8466 - Add test for rechunking to a size string by @dcherian in #9117
- Update docstring in api.py for open_mfdataset(), clarifying "chunks" argument by @arthur-e in #9121
- Grouper refactor by @dcherian in #9122
- adjust repr tests to account for different platforms (#9127) by @mgorny in #9128
- Support duplicate dimensions in
.chunk
by @mraspaud in #9099 - Update zendoo badge link by @max-sixty in #9133
- Split out distributed writes in zarr docs by @max-sixty in #9132
- Improve
to_zarr
docs by @max-sixty in #9139 - groupby: remove some internal use of IndexVariable by @dcherian in #9123
- Improve zarr chunks docs by @max-sixty in #9140
- Include numbagg in type checks by @max-sixty in #9159
- Remove mypy exclusions for a couple more libraries by @max-sixty in #9160
- Add test for #9155 by @max-sixty in #9161
- Docs: Add figure for navigating help resources by @JessicaS11 in #9147
- switch to datetime unit
"D"
by @keewis in #9170 - Slightly improve DataTree repr by @shoyer in #9064
- Fix example code formatting for CachingFileManager by @djhoese in #9178
- Change np.core.defchararray to np.char (#9165) by @pont-us in #9166
- temporarily pin
numpy<2
by @keewis in #9181 - temporarily remove
pydap
from CI by @keewis in #9183 - also pin
numpy
in the all-but-dask CI by @keewis in #9184 - promote floating-point numeric datetimes to 64-bit before decoding by @keewis in #9182
"source"
encoding for datasets opened fromfsspec
objects by @keewis in #8923- properly diff objects with arrays as attributes on variables by @keewis in #9169
- Allow str in static typing of reindex, ffill etc. by @headtr1ck in #9194
- Fix dark-theme in
html[data-theme=dark]
-tags by @prisae in #9200 - Add open_datatree benchmark by @aladinor in #9158
- use a
composite
strategy to generate the dataframe with a tz-aware datetime column by @keewis in #9174 - Hierarchical coordinates in DataTree by @shoyer in #9063
- avoid converting custom indexes to pandas indexes when formatting coordinate diffs by @keewis in #9157
- Fix reductions for
np.complex_
dtypes with numbagg by @max-sixty in #9210 - Consolidate some numbagg tests by @max-sixty in #9211
- Use numpy 2.0-compat
np.complex64
dtype in test by @max-sixty in #9217 - Fix two bugs in DataTree.update() by @shoyer in #9214
- Only use necessary dims when creating temporary dataarray by @Illviljan in #9206
- Cleanup test_coding_times.py by @Illviljan in #9223
- Use reshape and ravel from duck_array_ops in coding/times.py by @Illviljan in #9225
- Use duckarray assertions in test_coding_times by @Illviljan in #9226
- Fix time indexing regression in
convert_calendar
by @hmaarrfk in #9192 numpy
2 compatibility in thenetcdf4
andh5netcdf
backends by @keewis in #9136numpy
2 compatibility in the iris code paths by @keewis in #9156- switch the documentation to run with
numpy>=2
by @keewis in #9177 - exclude the bots from the release notes by @keewis in #9235
- Add a
.drop_attrs
method by @max-sixty in #8258 - Allow mypy to run in vscode by @max-sixty in #9239
- Fix typing for test_plot.py by @Illviljan in #9234
- Added a space to the documentation by @ChrisCleaner in #9247
- Per-variable specification of boolean parameters in open_dataset by @Ostheer in #9218
- Enable pandas type checking by @headtr1ck in #9213
- fix typing of fallback isdtype method by @headtr1ck in #9250
- Fix mypy on main by @max-sixty in #9252
- Grouper, Resampler as public api by @dcherian in #8840
- Update dropna docstring by @TomNicholas in #9257
- Delete
base
andloffset
parameters to resample by @dcherian in #9233 - groupby, resample: Deprecate some positional args by @dcherian in #9236
- Add
encode_cf_datetime
benchmark by @spencerkclark in #9262 - Update signature for _arrayfunction.array by @Illviljan in #9237
- Fix copybutton for multi line examples in double digit ipython cells by @mosc9575 in #9264
- add backend intro and how-to diagram by @JessicaS11 in #9175
- Restore ability to specify _FillValue as Python native integers by @djhoese in #9258
- Adding
open_datatree
backend-specific keyword arguments by @aladinor in #9199 - Change .groupby fastpath to work for monotonic increasing and decreasing by @JoelJaeschke in #7427
- Fully deprecate squeeze kwarg to groupby by @dcherian in #9280
- Support rechunking to a frequency. by @dcherian in #9109
- automate extracting the contributors by @keewis in #9288
- Allow importing from xarray.groupers by @dcherian in #9289
- release notes for 2024.07.0 by @keewis in #9287
New Contributors
- @arthur-e made their first contribution in #9121
- @pont-us made their first contribution in #9166
- @prisae made their first contribution in #9200
- @ChrisCleaner made their first contribution in #9247
- @Ostheer made their first contribution in #9218
- @mosc9575 made their first contribution in #9264
- @JoelJaeschke made their first contribution in #7427
Full Changelog: v2024.06.0...v2024.07.0
v2024.06.0
This release brings compatibility with numpy 2 and various performance optimizations.
Thanks to the 22 contributors to this release:
Alfonso Ladino, David Hoese, Deepak Cherian, Eni Awowale, Ilan Gold, Jessica Scheick, Joe Hamman, Justus Magin, Kai Mühlbauer, Mark Harfouche, Mathias Hauser, Matt Savoie, Maximilian Roos, Mike Thramann, Nicolas Karasiak, Owen Littlejohns, Paul Ockenfuß, Philippe THOMY, Scott Henderson, Spencer Clark, Stephan Hoyer and Tom Nicholas
What's Changed
- attempt to get colour output in CI by @keewis in #9031
- [skip-ci] min_deps_check: show age of required pkg on error by @mathause in #9025
- TEST: Fix numbagg or bottlekneck skip by @hmaarrfk in #9034
- Use ME in test_plot instead of M by @hmaarrfk in #9035
- Bump codecov/codecov-action from 4.3.1 to 4.4.0 in the actions group by @dependabot in #9036
- (fix): equality check against singleton
PandasExtensionArray
by @ilan-gold in #9032 - array api-related upstream-dev failures by @keewis in #8854
- Bump codecov/codecov-action from 4.4.0 to 4.4.1 in the actions group by @dependabot in #9047
- User-guide - pandas : Add alternative to xarray.Dataset.from_dataframe by @loco-philippe in #9020
- pin nightly
zarr
to v2 by @keewis in #9050 - Clarify matmul does xarray.dot by @mthramann in #9060
- Run tests on changes to root dotfiles by @max-sixty in #9062
- Speed up netCDF4, h5netcdf backends by @dcherian in #9067
- Remove empty code cell in examples/multidimensional-coords.ipynb by @kmuehlbauer in #9071
- citation / orcid by @keewis in #9082
- Always run code tests by @dcherian in #9083
- fixes for the
pint
tests by @keewis in #8983 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #9061
- Address latest pandas-related upstream test failures by @spencerkclark in #9081
- Add scottyhq to CITATION.cff by @scottyhq in #9089
- Fix Typo in Bfill benchmark by @Ockenfuss in #9087
- add link to CF conventions on packed data in doc/user-guide/io.rst by @kmuehlbauer in #9045
- add order for polynomial interpolation, fixes #8762 by @nkarasiak in #9079
- Fix upcasting with python builtin numbers and numpy 2 by @djhoese in #8946
- Add Eni to CITATION.cff by @eni-awowale in #9095
- add Jessica to citation by @JessicaS11 in #9096
- (fix): don't handle time-dtypes as extension arrays in
from_dataframe
by @ilan-gold in #9042 - Micro optimizations to improve indexing by @hmaarrfk in #9002
- DAS-2067 - Migrate datatree io.py and common.py by @owenlittlejohns in #9011
- open_datatree performance improvement on NetCDF, H5, and Zarr files by @aladinor in #9014
- [skip-ci] Fix skip-ci for hypothesis by @dcherian in #9102
- Adds Matt Savoie to CITATION.cff by @flamingbear in #9103
- skip the
pandas
datetime roundtrip test withpandas=3.0
by @keewis in #9104 - Add user survey announcement to docs by @jhamman in #9101
- add remaining core-dev citations by @keewis in #9110
- Undo custom padding-top. by @dcherian in #9107
- [skip-ci] Try fixing hypothesis CI trigger by @dcherian in #9112
- release notes for 2024.06.0 by @keewis in #9092
- release v2024.06.0 by @keewis in #9113
New Contributors
- @loco-philippe made their first contribution in #9020
- @mthramann made their first contribution in #9060
- @nkarasiak made their first contribution in #9079
- @aladinor made their first contribution in #9014
Full Changelog: v2024.05.0...v2024.06.0
v2024.05.0
This release brings support for pandas ExtensionArray objects, optimizations when reading Zarr, the ability to concatenate datasets without pandas indexes,
more compatibility fixes for the upcoming numpy 2.0, and the migration of most of the xarray-datatree project code into xarray main
!
Thanks to the 18 contributors to this release:
Aimilios Tsouvelekakis, Andrey Akinshin, Deepak Cherian, Eni Awowale, Ilan Gold, Illviljan, Justus Magin, Mark Harfouche, Matt Savoie, Maximilian Roos, Noah C. Benson, Pascal Bourgault, Ray Bell, Spencer Clark, Tom Nicholas, ignamv, owenlittlejohns, and saschahofmann.
What's Changed
- Update reference to 'Weighted quantile estimators' by @AndreyAkinshin in #8898
- New empty whatsnew entry by @TomNicholas in #8899
- Bump the actions group with 1 update by @dependabot in #8896
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #8900
- Update docstring for compute and persist by @saschahofmann in #8903
- Stateful tests with Dataset by @dcherian in #8658
- Trigger hypothesis stateful tests nightly by @dcherian in #8907
- Don't access data when creating DataArray from Variable. by @dcherian in #8754
- Add typing to test_plot.py by @Illviljan in #8889
- Update hypothesis action to always save the cache by @dcherian in #8913
- Bump codecov/codecov-action from 4.1.1 to 4.2.0 in the actions group by @dependabot in #8918
- Add typing to some functions in indexing.py by @Illviljan in #8922
- Enhance the ugly error in constructor when no data passed by @aimtsou in #8920
- Migrate iterators.py for datatree. by @owenlittlejohns in #8879
- MAINT: use sphinxext-rediraffe conda install by @raybellwaves in #8936
- use
pd.to_timedelta
instead ofTimedeltaIndex
by @keewis in #8938 - adapt more tests to the copy-on-write behavior of pandas by @keewis in #8940
- Correct save_mfdataset docstring by @TomNicholas in #8934
- Bump codecov/codecov-action from 4.2.0 to 4.3.0 in the actions group by @dependabot in #8943
- Convert 360_day calendars by choosing random dates to drop or add by @aulemahal in #8603
- Add mypy to dev dependencies by @max-sixty in #8947
- Migrate datatree mapping.py by @owenlittlejohns in #8948
- (feat): Support for
pandas
ExtensionArray
by @ilan-gold in #8723 - Migrate formatting_html.py into xarray core by @eni-awowale in #8930
- use
nan
instead ofNaN
by @keewis in #8961 - stop pruning datatree_ directory from distribution by @flamingbear in #8953
- Delete pynio backend. by @dcherian in #8971
- Migrate datatreee assertions/extensions/formatting by @owenlittlejohns in #8967
- Bump dependencies incl
pandas>=2
by @dcherian in #8968 - Option to not auto-create index during expand_dims by @TomNicholas in #8960
- Raise errors on new warnings from within xarray by @max-sixty in #8974
- more engine environment tricks in preparation for
numpy>=2
by @keewis in #8978 - CI: python 3.12 by default. by @dcherian in #8969
- Switch all methods to
dim
by @max-sixty in #8982 - Docstring and documentation improvement for the Dataset class by @noahbenson in #8973
- Add notes on when to add ignores to warnings by @max-sixty in #8987
- Remove
.drop
warning allow by @max-sixty in #8988 - Skip flaky
test_open_mfdataset_manyfiles
test by @max-sixty in #8989 - clean up the upstream-dev setup script by @keewis in #8986
- avoid a couple of warnings in
polyfit
by @keewis in #8939 - Migration of datatree/ops.py -> datatree_ops.py by @flamingbear in #8976
- Mark
test_use_cftime_false_standard_calendar_in_range
as an expected failure by @spencerkclark in #8996 - call
np.cross
with 3D vectors only by @keewis in #8993 - Fix syntax error in test related to cupy by @hmaarrfk in #9000
- Add argument check_dims to assert_allclose to allow transposed inputs (#5733) by @ignamv in #8991
- Faster fastpath by @hmaarrfk in #9001
- Speed up localize by @Illviljan in #8536
- Bump codecov/codecov-action from 4.3.0 to 4.3.1 in the actions group by @dependabot in #9004
- Port negative frequency fix for
pandas.date_range
tocftime_range
by @spencerkclark in #8999 - Fix for ruff 0.4.3 by @max-sixty in #9007
- Trigger CI only if code files are modified. by @dcherian in #9006
- Zarr: Optimize
region="auto"
detection by @dcherian in #8997 - Add a benchmark to monitor performance for large dataset indexing by @hmaarrfk in #9012
- Avoid extra read from disk when creating Pandas Index. by @dcherian in #8893
- Fix benchmark CI by @dcherian in #9013
- Avoid auto creation of indexes in concat by @TomNicholas in #8872
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #9005
- Zarr: Optimize appending by @dcherian in #8998
- Add whatsnew entry for #8974 by @max-sixty in #9022
- Release summary for v2024.05.0 by @TomNicholas in #9021
New Contributors
- @AndreyAkinshin made their first contribution in #8898
- @aimtsou made their first contribution in #8920
- @ilan-gold made their first contribution in #8723
- @eni-awowale made their first contribution in #8930
- @noahbenson made their first contribution in #8973
- @ignamv made their first contribution in #8991
Full Changelog: v2024.03.0...v2024.05.0
v2024.03.0
What's Changed
- new whats-new section by @keewis in #8767
- [skip-ci] NamedArray: Add lazy indexing array refactoring plan by @dcherian in #8775
- refactor
indexing.py
: introduce.oindex
for Explicitly Indexed Arrays by @andersy005 in #8750 - Fixing issue #8770: Improved frequency parameter logic to set it to 'D' only if periods, start, or end are None. by @rjavierch in #8774
- Bump the actions group with 2 updates by @dependabot in #8785
- introduce
.vindex
property for Explicitly Indexed Arrays by @andersy005 in #8780 - Migrate treenode module. by @flamingbear in #8757
- Fix non-nanosecond casting behavior for
expand_dims
by @spencerkclark in #8782 - fix: remove Coordinate from all in xarray/init.py by @hassec in #8791
- tokenize() should ignore difference between None and {} attrs by @crusaderky in #8797
- Bump the actions group with 2 updates by @dependabot in #8804
- Grouper object design doc by @dcherian in #8510
- Refactor Grouper objects by @dcherian in #8776
- DOC: link to zarr.convenience.consolidate_metadata by @raybellwaves in #8816
- Update documentation for clarity by @staadecker in #8817
- Bump the actions group with 1 update by @dependabot in #8818
- try to get the
upstream-dev
CI to complete again by @keewis in #8823 - Do not attempt to broadcast when global option
arithmetic_broadcast=False
by @etienneschalk in #8784 - Make list_chunkmanagers more resilient to broken entrypoints by @hmaarrfk in #8736
- Add
dask-expr
to environment-3.12.yml by @dcherian in #8827 - [skip-ci] Add dask-expr dependency to doc.yml by @andersy005 in #8835
- Add dask-expr for windows envs by @dcherian in #8837
- [skip-ci] Fix upstream-dev env by @dcherian in #8839
- Return a dataclass from Grouper.factorize by @dcherian in #8777
- Expand use of
.oindex
and.vindex
by @andersy005 in #8790 - correctly encode/decode _FillValues/missing_values/dtypes for packed data by @kmuehlbauer in #8713
- Support pandas copy-on-write behaviour by @dcherian in #8846
- Implement setitem syntax for
.oindex
and.vindex
properties by @andersy005 in #8845 - FIX: do not cast _FillValue/missing_value in CFMaskCoder if _Unsigned is provided by @kmuehlbauer in #8852
- FIX: adapt handling of copy keyword argument in scipy backend for numpy >= 2.0dev by @kmuehlbauer in #8851
- pandas 3 MultiIndex fixes by @dcherian in #8847
- increase typing annotations coverage in
xarray/core/indexing.py
by @andersy005 in #8857 - upstream-dev CI: Fix interp and cumtrapz by @dcherian in #8861
- numpy 2.0 copy-keyword and trapz vs trapezoid by @kmuehlbauer in #8865
- Handle .oindex and .vindex for the PandasMultiIndexingAdapter and PandasIndexingAdapter by @andersy005 in #8869
- Update docs on view / copies by @ks905383 in #8744
- Opt out of auto creating index variables by @TomNicholas in #8711
- groupby: Dispatch quantile to flox. by @dcherian in #8720
- warn and return bytes undecoded in case of UnicodeDecodeError in h5netcdf-backend by @kmuehlbauer in #8874
- Migrate datatree.py module into xarray.core. by @owenlittlejohns in #8789
- Don't allow overwriting indexes with region writes by @dcherian in #8877
- Allow multidimensional variable with same name as dim when constructing dataset via coords by @TomNicholas in #8886
- Optimize writes to existing Zarr stores. by @dcherian in #8875
- Add dt.date to plottable types by @saschahofmann in #8873
- Check for aligned chunks when writing to existing variables by @max-sixty in #8459
- Avoid in-place multiplication of a large value to an array with small integer dtype by @Illviljan in #8867
- Add typing to test_groupby.py by @Illviljan in #8890
- 2024.03.0: Add whats-new by @dcherian in #8891
New Contributors
- @rjavierch made their first contribution in #8774
- @hassec made their first contribution in #8791
- @staadecker made their first contribution in #8817
- @ks905383 made their first contribution in #8744
- @owenlittlejohns made their first contribution in #8789
- @saschahofmann made their first contribution in #8873
Full Changelog: v2024.02.0...v2024.03.0
v2024.02.0
This release brings size information to the text repr
, changes to the accepted frequency strings, and various bug fixes.
Thanks to our 12 contributors:
Anderson Banihirwe, Deepak Cherian, Eivind Jahren, Etienne Schalk, Justus Magin, Marco Wolsza, Mathias Hauser, Matt Savoie, Maximilian Roos, Rambaud Pierrick, Tom Nicholas
v2024.01.1
This release is to fix a bug with the rendering of the documentation, but it also includes changes to the handling of pandas frequency strings.
What's Changed
- Re-enable mypy checks for parse_dims unit tests by @crusaderky in #8618
- import from the new location of
normalize_axis_index
if possible by @keewis in #8483 - Update min deps in docs by @jhamman in #8622
- Fix GH212, PP308 by @tqa236 in #8621
- Partially fix doctests by @max-sixty in #8631
- Fix building doc following depreciation in Pandas 2.2.0 by @nameloCmaS in #8633
- Workaround broken test from pyarrow by @max-sixty in #8634
- xfail pyarrow test by @max-sixty in #8635
- Don't show stdlib paths for
user_level_warnings
by @max-sixty in #8625 - xfail another dask/pyarrow test by @max-sixty in #8636
- xfail a cftime test by @max-sixty in #8637
- Silence deprecation warning from
.dims
in tests by @max-sixty in #8639 - Use
T_DataArray
inWeighted
by @max-sixty in #8630 - rename "Y" freq string to "YE" (pandas parity) by @mathause in #8629
- Pandas 2.2.0 test fixes by @nameloCmaS in #8638
- xfail zarr test on Windows by @max-sixty in #8643
- Use ddof in
numbagg>=0.7.0
for aggregations by @max-sixty in #8624 - infer_freq: return 'YE' (#8629 follow-up) by @mathause in #8642
- Pin sphinx-book-theme to 1.0.1 to try to deal with #8619 by @TomNicholas in #8632
- Fixed typo in custom backend registration documentation by @HertugHelms in #8645
- implement
isnull
usingfull_like
instead ofzeros_like
by @keewis in #7395
New Contributors
- @nameloCmaS made their first contribution in #8633
- @HertugHelms made their first contribution in #8645
Full Changelog: v2024.01.0...v2024.01.1
v2024.01.0
This release brings support for weights in correlation and covariance functions,
a new DataArray.cumulative
aggregation, improvements to xr.map_blocks
,
an update to our minimum dependencies, and various bugfixes.
Thanks to our 17 contributors to this release:
Abel Aoun, Deepak Cherian, Illviljan, Johan Mathe, Justus Magin, Kai Mühlbauer,
Llorenç Lledó, Mark Harfouche, Markel, Mathias Hauser, Maximilian Roos, Michael Niklas,
Niclas Rieger, Sébastien Celles, Tom Nicholas, Trinh Quoc Anh, and crusaderky.
v2023.12.0
This release brings new hypothesis strategies for testing, significantly faster rolling aggregations as well as ffill
and bfill
with numbagg, a new Dataset.eval
method, and improvements to reading and writing Zarr arrays (including a new "a-"
mode).
Thanks to our 16 contributors:
Anderson Banihirwe, Ben Mares, Carl Andersson, Deepak Cherian, Doug Latornell, Gregorio L. Trevisan, Illviljan, Jens Hedegaard Nielsen, Justus Magin, Mathias Hauser, Max Jones, Maximilian Roos, Michael Niklas, Patrick Hoefler, Ryan Abernathey, Tom Nicholas
What's Changed
- [skip-ci] dev whats-new by @dcherian in #8467
- Consolidate
_get_alpha
func by @max-sixty in #8465 - Fix
map_blocks
docs' formatting by @max-sixty in #8464 - Use concise date format when plotting by @Illviljan in #8449
- Fix mypy tests by @max-sixty in #8476
- Allow
rank
to run on dask arrays by @max-sixty in #8475 - Add whatsnew for #8475 by @max-sixty in #8478
- Improve "variable not found" error message by @max-sixty in #8474
- Fix bug for categorical pandas index with categories with EA dtype by @phofl in #8481
- Use numbagg for
ffill
by default by @max-sixty in #8389 - Refine rolling_exp error messages by @max-sixty in #8485
- Fix Zarr region transpose by @max-sixty in #8484
- Reduce redundancy between namedarray and variable tests by @maxrjones in #8405
- Start renaming
dims
todim
by @max-sixty in #8487 - Raise an informative error message when object array has mixed types by @andersy005 in #4700
- Update resample time offset FutureWarning and docs by @douglatornell in #8479
- Fix minor typo in io.rst by @maresb in #8492
- Warn on repeated dimension names during construction by @TomNicholas in #8491
- Minor to_zarr optimizations by @dcherian in #8489
- Properly closes zarr groups in zarr store by @CarlAndersson in #8425
- Avoid duplicate Zarr array read by @dcherian in #8472
- Add mode='a-': Do not overwrite coordinates when appending to Zarr with
append_dim
by @rabernat in #8428 - Add expand_dims by @Illviljan in #8407
- Update to mypy1.7 by @headtr1ck in #8501
- change type of curvefit's p0 and bounds to mapping by @headtr1ck in #8502
- Fully deprecate
.drop
by @max-sixty in #8497 - Fix docstrings for
combine_by_coords
by @gtrevisan in #8471 - roll out the new/refreshed Xarray logo by @andersy005 in #8505
- Add extra overload for to_netcdf by @jenshnielsen in #8268
- Allow callables to
.drop_vars
by @max-sixty in #8511 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #8517
- Fix type of
.assign_coords
by @max-sixty in #8495 - [skip-ci] fix RTD docs build by @andersy005 in #8519
- Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 by @dependabot in #8514
- Use numbagg for
rolling
methods by @max-sixty in #8493 - Hypothesis strategy for generating Variable objects by @TomNicholas in #8404
- Remove PR labeler bot by @TomNicholas in #8525
- test and fix empty xindexes repr by @mathause in #8521
- Deprecate ds.dims returning dict by @TomNicholas in #8500
- Add
eval
method to Dataset by @max-sixty in #7163 - explicitly skip using
__array_namespace__
fornumpy.ndarray
by @keewis in #8526 - Whats-new for 2023.12.0 by @dcherian in #8532
New Contributors
- @CarlAndersson made their first contribution in #8425
Full Changelog: v2023.11.0...v2023.12.0
v2023.11.0
Note
This is our 10th year anniversary release! Thank you for your love and support.
This release brings the ability to use opt_einsum
for :py:func:xarray.dot
by default,
support for auto-detecting region
when writing partial datasets to Zarr, and the use of h5py
drivers with h5netcdf
.
Thanks to the 19 contributors to this release:
Aman Bagrecha, Anderson Banihirwe, Ben Mares, Deepak Cherian, Dimitri Papadopoulos Orfanos, Ezequiel Cimadevilla Alvarez,
Illviljan, Justus Magin, Katelyn FitzGerald, Kai Muehlbauer, Martin Durant, Maximilian Roos, Metamess, Sam Levang, Spencer Clark, Tom Nicholas, mgunyho, templiert
What's Changed
- [skip-ci] dev whats-new by @dcherian in #8349
- [skip-ci] Add benchmarks for Dataset binary ops, chunk by @dcherian in #8351
- Add better ASV test cases for open_dataset by @Illviljan in #8352
- Reduce dask tokenization time by @martindurant in #8339
- Deprecate tuples of chunks? by @max-sixty in #8341
- Remove unnecessary for loop when using get_axis_num by @Illviljan in #8356
- Use namedarray repr in _array_api docstrings by @Illviljan in #8355
- NamedArray.ndim can only be int by @Illviljan in #8362
- docs: add searchable word "asterisk" by @templiert in #8363
- add
.imag
and.real
properties toNamedArray
by @andersy005 in #8365 - fix
NamedArray.imag
andNamedArray.real
typing info by @andersy005 in #8369 - Add chunkedduckarray to _typing by @Illviljan in #8376
- Do not intercept left/right keys in HTML docs by @DimitriPapadopoulos in #8379
- Docs page on interoperability by @TomNicholas in #7992
- Fix typos found by codespell by @DimitriPapadopoulos in #8375
- Use
opt_einsum
by default if installed. by @dcherian in #8373 - Allow Variable type as dim argument to concat by @maresb in #8384
- Remove duplicated navigation_with_keys in docs config by @Illviljan in #8390
- Add duckarray test for np.array_api by @Illviljan in #8391
- Fix sparse typing by @Illviljan in #8387
- Correct typing for _sparsearray by @Illviljan in #8395
- Port fix from pandas-dev/pandas#55283 to cftime resample by @spencerkclark in #8393
- Fix for Dataset.to_zarr with both
consolidated
andwrite_empty_chunks
by @Metamess in #8326 - Test masked array by @Illviljan in #8396
- Better attr diff for
testing.assert_identical
by @dcherian in #8400 - Add cross-links to API docstring from tutorial and user-guide by @amanbagrecha in #8311
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #8418
- Fix for date offset strings with resample loffset by @kafitzgerald in #8422
- Declare Dataset, DataArray, Variable, GroupBy unhashable by @maresb in #8392
- Add missing DataArray.dt.total_seconds() method by @maresb in #8435
- Rename
to_array
toto_dataarray
by @max-sixty in #8438 - Remove keep_attrs from resample signature by @dcherian in #8444
- Pin pint to >=0.22 by @dcherian in #8445
- Remove PseudoNetCDF by @dcherian in #8446
- remove
cdms2
by @keewis in #8441 - Automatic region detection and transpose for
to_zarr()
by @slevang in #8434 - Raise exception in to_dataset if resulting variable is also the name of a coordinate by @mgunyho in #8433
- Added driver parameter for h5netcdf by @zequihg50 in #8360
- Deprecate certain cftime frequency strings following pandas by @spencerkclark in #8415
- [skip-ci] Small updates to IO docs. by @dcherian in #8452
- Fix typos found by codespell by @DimitriPapadopoulos in #8457
- Pin mypy < 1.7 by @dcherian in #8458
- preserve vlen string dtypes, allow vlen string fill_values by @kmuehlbauer in #7869
- migrate the other CI to python 3.11 by @keewis in #8416
- 2023.11.0 Whats-new by @dcherian in #8461
New Contributors
- @maresb made their first contribution in #8384
- @Metamess made their first contribution in #8326
- @amanbagrecha made their first contribution in #8311
- @kafitzgerald made their first contribution in #8422
- @zequihg50 made their first contribution in #8360
Full Changelog: v2023.10.1...v2023.11.0
v2023.10.1
This release updates our minimum numpy version in pyproject.toml
to 1.22, consistent with our documentation.
Please see the v2023.10.0 release notes for our recent changes.