id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 1333644214,PR_kwDOAMm_X8486DyE,6903,Duckarray tests for constructors and properties,35968931,open,0,,,5,2022-08-09T18:36:56Z,2024-01-01T13:33:22Z,,MEMBER,,0,pydata/xarray/pulls/6903,"Builds on top of #4972 to add tests for `Variable/DataArray/Dataset` constructors and properties when wrapping duck arrays. Adds a file `xarray/tests/duckarrays/base/constructors.py` which contains new test base classes. Also uses those new base classes to test Sparse array integration (not yet tried for pint integration). - [x] Closes part of #6894 - [ ] Tests added (tests for tests?? Maybe...) - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6903/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 2038153739,I_kwDOAMm_X855e8IL,8545,map_blocks should dispatch to ChunkManager,35968931,open,0,,,5,2023-12-12T16:34:13Z,2023-12-22T16:47:27Z,,MEMBER,,,,"### Is your feature request related to a problem? #7019 generalized most of xarrays internals to be able to use any chunked array type that we can create a `ChunkManagerEntrypoint` for. Most functions now go through this (e.g. `apply_ufunc`), but I did not redirect `xarray.map_blocks` to go through `ChunkManagerEntrypoint`. This redirection works by dispatching to high-level dask.array primitives such as `dask.array.apply_gufunc`, `dask.array.blockwise`, and `dask.array.map_blocks`. However the current implementation of `xarray.map_blocks` is much lower-level, building a custom HLG, so it was not obvious how to swap it out. ### Describe the solution you'd like I would like to either: 1) Replace the current internals of `xarray.map_blocks` with a simple call to `ChunkManagerEntrypoint.map_blocks`. This would be the cleanest separation of concerns we could do here. Presumably there is some obvious reason why this cannot or should not be done, but I have yet to understand what that reason is. (either @dcherian or @tomwhite can you enlighten me perhaps? 🙏) 2) (More likely) refactor so that the existing guts of `xarray.map_blocks` are only called from the `ChunkManagerEntrypoint`, and a non-dask chunked array (i.e. cubed, but in theory other types too) would be able to specify how it wants to perform the map_blocks. ### Describe alternatives you've considered Leaving it as the status quo breaks the nice abstraction and separation of concerns that #7019 introduced. ### Additional context Split off from https://github.com/pydata/xarray/issues/8414","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8545/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,issue 1615570467,PR_kwDOAMm_X85LlkLA,7595,Clarifications in contributors guide,35968931,closed,0,,,5,2023-03-08T16:35:45Z,2023-03-13T17:55:43Z,2023-03-13T17:51:24Z,MEMBER,,0,pydata/xarray/pulls/7595,"Add suggestions @paigem made in #7439, as well as fix a few small formatting things and broken links. I would like to merge this so that it can be helpful for the new contributors we will hopefully get through Outreachy. - [x] Closes #7439 - [ ] ~~Tests added~~ - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7595/reactions"", ""total_count"": 2, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 2, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1424215477,I_kwDOAMm_X85U4821,7227,Typing with Variadic Generics in python 3.11 (PEP 646),35968931,open,0,,,5,2022-10-26T15:03:01Z,2022-10-26T21:50:02Z,,MEMBER,,,,"### What is your issue? I just saw this [new typing feature](https://peps.python.org/pep-0646/) in python 3.11, and I'm wondering whether / where we could usefully use this? The feature is parametrizing `Generics` with arbitrary numbers of `TypeVars`, which allows you to have `Array` types whose static typing behaviour is a function of their `shape`. (But we could possibly use it for a tuple of `dims` too...) We might use it to do things like: - Specify that a function expects an array of a certain dimensionality - Overload methods based on the array dimensionality (e.g. `.plot` for 1D vs 2D arrays) - (If they implement [Shape Arithmetic](https://peps.python.org/pep-0646/#shape-arithmetic)) Type hint how certain methods will change the output shape? @headtr1ck @max-sixty any thoughts? ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7227/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,issue 951882363,MDExOlB1bGxSZXF1ZXN0Njk2MTk4NDcx,5632,v0.19.0 release notes,35968931,closed,0,,,5,2021-07-23T20:38:49Z,2021-07-23T21:39:50Z,2021-07-23T21:12:53Z,MEMBER,,0,pydata/xarray/pulls/5632,"Release notes: ```rst This release brings improvements to plotting of categorical data, the ability to specify how attributes are combined in xarray operations, a new high-level :py:func:`unify_chunks` function, as well as various deprecations, bug fixes, and minor improvements. ``` - [x] Closes #5588 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5632/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 453126577,MDU6SXNzdWU0NTMxMjY1Nzc=,3002,plot.pcolormesh fails with shading='gouraud',35968931,closed,0,,,5,2019-06-06T16:27:00Z,2020-11-29T16:28:32Z,2019-06-06T22:26:35Z,MEMBER,,,,"`xarray.plot.pcolormesh()` fails when you pass the `matplotlib.pyplot.pcolormesh()` keyword argument `shading='gouraud'` to it. #### Code Sample, a copy-pastable example if possible ```python import matplotlib.pyplot as plt import numpy as np import xarray as xr lon, lat = np.meshgrid(np.linspace(-20, 20, 5), np.linspace(0, 30, 4)) lon += lat/10 lat += lon/10 da = xr.DataArray(np.arange(20).reshape(4, 5), dims=['y', 'x'], coords = {'lat': (('y', 'x'), lat), 'lon': (('y', 'x'), lon)}) da.plot.pcolormesh('lon', 'lat', shading='gouraud') plt.show() ``` #### Problem description This gives an error: ``` Traceback (most recent call last): File ""mwe.py"", line 17, in da.plot.pcolormesh('lon', 'lat', shading='gouraud') File ""/home/tegn500/Documents/Work/Code/xarray/xarray/plot/plot.py"", line 721, in plotmethod return newplotfunc(**allargs) File ""/home/tegn500/Documents/Work/Code/xarray/xarray/plot/plot.py"", line 662, in newplotfunc **kwargs) File ""/home/tegn500/Documents/Work/Code/xarray/xarray/plot/plot.py"", line 864, in pcolormesh primitive = ax.pcolormesh(x, y, z, **kwargs) File ""/home/tegn500/anaconda3/envs/py36/lib/python3.6/site-packages/matplotlib/__init__.py"", line 1805, in inner return func(ax, *args, **kwargs) File ""/home/tegn500/anaconda3/envs/py36/lib/python3.6/site-packages/matplotlib/axes/_axes.py"", line 5971, in pcolormesh X, Y, C = self._pcolorargs('pcolormesh', *args, allmatch=allmatch) File ""/home/tegn500/anaconda3/envs/py36/lib/python3.6/site-packages/matplotlib/axes/_axes.py"", line 5559, in _pcolorargs C.shape, Nx, Ny, funcname)) TypeError: Dimensions of C (4, 5) are incompatible with X (6) and/or Y (5); see help(pcolormesh) ``` #### Expected Output This should give almost the same image as in the documentation, just with smoother shading: ![Figure_1](https://user-images.githubusercontent.com/35968931/59049474-f68a6580-887f-11e9-83db-697c38acdf5e.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3002/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 470669787,MDExOlB1bGxSZXF1ZXN0Mjk5NTYwNTU0,3151,Hotfix for case of combining identical non-monotonic coords,35968931,closed,0,,,5,2019-07-20T12:31:14Z,2019-07-31T13:56:48Z,2019-07-31T13:56:48Z,MEMBER,,0,pydata/xarray/pulls/3151," - [x] Closes #3150 - [x] Tests added ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3151/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 467409631,MDExOlB1bGxSZXF1ZXN0Mjk3MDY3NTQ3,3101,Improve open_mfdataset deprecation warnings,35968931,closed,0,,,5,2019-07-12T13:18:00Z,2019-07-12T15:43:38Z,2019-07-12T15:43:32Z,MEMBER,,0,pydata/xarray/pulls/3101," - [x] Closes #3091 - [x] Tests added ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3101/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull