pull_requests
176 rows where user = 14371165
This data as json, CSV (advanced)
Suggested facets: state, draft, created_at (date), updated_at (date), closed_at (date), merged_at (date)
id ▼ | node_id | number | state | locked | title | user | body | created_at | updated_at | closed_at | merged_at | merge_commit_sha | assignee | milestone | draft | head | base | author_association | auto_merge | repo | url | merged_by |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
509426702 | MDExOlB1bGxSZXF1ZXN0NTA5NDI2NzAy | 4532 | closed | 0 | Improve Dataset and DataArray docstrings | Illviljan 14371165 | Improve docstrings of Dataset and DataArray by * moving the init docs to the class doc * adding examples on how to initialize the classes with a small calculation example. - [x] Closes #4345 | 2020-10-24T12:46:47Z | 2020-10-27T19:48:50Z | 2020-10-27T19:47:51Z | 2020-10-27T19:47:51Z | 1808be42754fb9123922e1b9d2da21e7115ea1b3 | 0 | 749ff6f6ca3413beb3ec5f415e32d7842371c69d | adc55ac4d2883e0c6647f3983c3322ca2c690514 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/4532 | ||||
547799096 | MDExOlB1bGxSZXF1ZXN0NTQ3Nzk5MDk2 | 4750 | closed | 0 | Limit number of data rows shown in repr | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #4736 - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` Test example: ```python a = np.arange(0, 2000) b = np.core.defchararray.add("long_variable_name", a.astype(str)) c = np.arange(0, 30) d = np.core.defchararray.add("attr_", c.astype(str)) e = {k: 2 for k in d} coords = dict(time=da.array([0, 1])) data_vars = dict() for v in b: data_vars[v] = xr.DataArray( name=v, data=da.array([3, 4]), dims=["time"], coords=coords, ) ds0 = xr.Dataset(data_vars) ds0.attrs = e ``` Looks like this with 24 max rows of interesting data: ```python print(ds0) Out[15]: <xarray.Dataset> Dimensions: (time: 2) Coordinates: * time (time) int32 0 1 Data variables: long_variable_name0 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name1 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name2 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name3 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name4 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name5 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name6 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name7 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name8 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name9 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name10 (time) int32 dask.array<chunksize=(2,), meta=np.ndarray> long_variable_name11 (time) int32 dask.array<chunksize=(2,), meta=np.n… | 2021-01-02T21:14:50Z | 2021-01-04T02:13:52Z | 2021-01-04T02:13:52Z | 2021-01-04T02:13:51Z | a6dbb11071edf423fe5250b4eca427f4302fd5f5 | 0 | adf455f78de4c6290263e8bec61d3932330f26e7 | 0f1eb96c924bad60ea87edd9139325adabfefa33 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/4750 | ||||
548268889 | MDExOlB1bGxSZXF1ZXN0NTQ4MjY4ODg5 | 4762 | closed | 0 | Print number of variables in repr | Illviljan 14371165 | Show the printed and total number of variables in the repr. - [x] Passes `isort . && black . && mypy . && flake8` ```python import numpy as np import xarray as xr a = np.arange(0, 15) b = np.core.defchararray.add("long_variable_name", a.astype(str)) c = np.arange(0, 25) d = np.core.defchararray.add("attr_", c.astype(str)) e = {k: 2 for k in d} coords = dict(time=da.array([0, 1])) data_vars = dict() for v in b: data_vars[v] = xr.DataArray( name=v, data=np.array([0, 1]).astype(bool), dims=["time"], coords=coords, ) ds1 = xr.Dataset(data_vars) ds1.attrs = e # The repr now shows how many attributes in total there are: print(ds1) Out[10]: <xarray.Dataset> Dimensions: (time: 2) Coordinates: * time (time) int32 0 1 Data variables: (12/15) long_variable_name0 (time) bool False True long_variable_name1 (time) bool False True long_variable_name2 (time) bool False True long_variable_name3 (time) bool False True long_variable_name4 (time) bool False True long_variable_name5 (time) bool False True ... long_variable_name9 (time) bool False True long_variable_name10 (time) bool False True long_variable_name11 (time) bool False True long_variable_name12 (time) bool False True long_variable_name13 (time) bool False True long_variable_name14 (time) bool False True Attributes: (12/25) attr_0: 2 attr_1: 2 attr_2: 2 attr_3: 2 attr_4: 2 attr_5: 2 ... attr_19: 2 attr_20: 2 attr_21: 2 attr_22: 2 attr_23: 2 attr_24: 2 ``` | 2021-01-04T14:13:17Z | 2021-05-18T18:17:50Z | 2021-01-12T00:21:19Z | 2021-01-12T00:21:19Z | 81ed5075fa02ac484f7448f15e0d7e621ab8b187 | 0 | a05b8ef7f12f0b9f3a898c47d65023601a6b2d0f | 65beab891bdc947a4369d067096161c4a5494146 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/4762 | ||||
550321955 | MDExOlB1bGxSZXF1ZXN0NTUwMzIxOTU1 | 4771 | closed | 0 | Always force dask arrays to float in missing.interp_func | Illviljan 14371165 | `scipy.interpolate.interp1d` always forces float so make sure that `da.blockwise` understands that as well. - [x] Workaround for #4770 - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` | 2021-01-06T10:18:55Z | 2021-05-18T18:17:30Z | 2021-01-12T10:15:28Z | 2021-01-12T10:15:28Z | 9bb0302b8dc46687a4118bab10285aa831d967c4 | 0 | 51e0d2f20176a4ff1fad3d4d3def6c4ea8a9dbcb | 31d540f9d668fc5f8c1c92165f950c568778db01 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/4771 | ||||
550938402 | MDExOlB1bGxSZXF1ZXN0NTUwOTM4NDAy | 4776 | closed | 0 | Speed up missing._get_interpolator | Illviljan 14371165 | Importing scipy.interpolate is slow and should only be done when necessary. Test case from 200ms to 6ms. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Related to #4739 - [x] Passes `isort . && black . && mypy . && flake8` <sub>By default, the upstream dev CI is disabled on pull request and push events. You can override this behavior per commit by adding a `[test-upstream]` tag to the first line of the commit message.</sub> | 2021-01-07T09:32:40Z | 2021-05-18T18:17:06Z | 2021-01-08T15:55:39Z | 2021-01-08T15:55:39Z | 8ff8113cb164e9f7eef648e05358d371c7d69f75 | 0 | 75ec5733ee55fc53778a702defacc0204902dcc8 | bc49e277a45212f7ef33165d7fa1247c219ce276 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/4776 | ||||
556366571 | MDExOlB1bGxSZXF1ZXN0NTU2MzY2NTcx | 4820 | open | 0 | Add dataset line plot | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #4235 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` TODO: * markersize/linewidth should work, easy if linewidth is only defined. But the hue/linewidth combo is trickier. * Possible, see post further down for details. Should be done in dataarray version in a future PR. * hue only works with coordinates. Should it work with variables? How to do that? groupby? * Leave it for coordinates only for now. * Should lines always be sorted to avoid weird lines? * Handled in dataarray version * linewidth not shown anywhere * line plots doesn't have the nice `legend_elements` function that scatter has which makes it a little bit more tricky. It can still be shown in the legend though. Adds `ds.plot.line`. The function wraps `ax.plot` which should feel pretty homely for most matplotlib users. It was a mess getting the colorbar to work because scatter returns a mappable that colorbar can handle but plot returns a list of line2ds that it can't handle. You also can't add cmaps directly to ax.plot, so to avoid for loops I changed the default color settings instead. Feel free to break it. Example:  | 2021-01-17T15:40:39Z | 2022-06-09T14:50:17Z | cbb6eab4de6060bbc31aab7a50fc7246bdb376e3 | 1 | 1dfad9fae173def3fd85c2ce1e8b3c1739fbb42f | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/4820 | ||||||
564448387 | MDExOlB1bGxSZXF1ZXN0NTY0NDQ4Mzg3 | 4850 | closed | 0 | Allow "unit" in label_from_attrs | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> It is also popular to call units `unit`. Allow both keys to be appended to labels in plots. | 2021-01-30T16:02:34Z | 2021-05-18T18:16:58Z | 2021-01-30T16:26:04Z | 2021-01-30T16:26:04Z | 5735e163bea43ec9bc3c2e640fbf25a1d4a9d0c0 | 0 | aade3b23a2c4a8101cf905ab93db9afe34c38d89 | 39048f95c5048b95505abc3afaec3bf386cbdf10 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/4850 | ||||
573075390 | MDExOlB1bGxSZXF1ZXN0NTczMDc1Mzkw | 4909 | closed | 0 | Add dataarray scatter with 3d support | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #xxxx - [x] Tests added - [x] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` Add scatter plots for dataarrays. Then later remove the dataset version and replace it with a thin wrapper in a similar fashion to #4820. New stuff: - [x] Legend now displays colors and sizes in a similar fashion to Seaborn. - [x] New parameter `z` which allows 3d scatter plots. Example: Using `ds = xr.tutorial.scatter_example_dataset()`:  | 2021-02-14T11:15:50Z | 2024-03-13T21:43:14Z | 2021-07-17T21:07:31Z | 2021-07-17T21:07:31Z | 4cde7732595a5dacfc3866ff4357c4ad61a0bf5a | 0 | 85e4ecdb5fcb282b72853174152d8ae457516250 | c5ae48848b1fcf778e7a143b98ec30cf7a5a6ca8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/4909 | ||||
586280610 | MDExOlB1bGxSZXF1ZXN0NTg2MjgwNjEw | 5008 | closed | 0 | Allow dataset interpolation with different datatypes | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> Allow different datatypes (in particular booleans) to be interpolated instead of dropping them. - [x] Requires #4740. - [x] Closes #4761 - [x] Tests added - [x] Passes `pre-commit run --all-files` | 2021-03-07T16:21:37Z | 2021-05-25T12:57:30Z | 2021-05-13T15:28:16Z | 2021-05-13T15:28:15Z | 1fa7b9ba8b695820474b0d045059995a34a1c684 | 0 | d3f50414fb53ab7404a4c999a0aa84ce4f2a05db | 6e14df62f0b01d8ca5b04bd0ed2b5ee45444265d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5008 | ||||
592376396 | MDExOlB1bGxSZXF1ZXN0NTkyMzc2Mzk2 | 5031 | closed | 0 | Keep coord attrs when interpolating | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #4239 - [x] Closes #4839 - [x] Tests added - [x] Passes `pre-commit run --all-files` | 2021-03-13T15:05:39Z | 2021-05-18T18:16:10Z | 2021-04-27T07:00:08Z | 2021-04-27T07:00:07Z | 0021cdab91f7466f4be0fb32dae92bf3f8290e19 | 0 | 25f161e63b7ef6975abc9d3dd7d064a09772dc0a | 77b494b7b34f41d5ed60c5a8bba63ba799c7b18f | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5031 | ||||
592434012 | MDExOlB1bGxSZXF1ZXN0NTkyNDM0MDEy | 5033 | closed | 0 | Allow using a custom engine class directly in xr.open_dataset | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #4838 - [x] Tests added - [x] Passes `pre-commit run --all-files` | 2021-03-13T22:12:39Z | 2021-05-18T18:16:28Z | 2021-04-15T02:02:04Z | 2021-04-15T02:02:03Z | a3ad87225d6d30e902d0b954126ebabc3c3cf1a3 | 0 | 43f762c5f9e692a086c20f2c5e70f7cc1025c2ec | f94de6b4504482ab206f93ec800608f2e1f47b19 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5033 | ||||
644076487 | MDExOlB1bGxSZXF1ZXN0NjQ0MDc2NDg3 | 5297 | closed | 0 | Add whats new for dataset interpolation with non-numerics | Illviljan 14371165 | Follow up for #5008 | 2021-05-13T16:00:51Z | 2021-05-18T18:15:35Z | 2021-05-13T16:30:21Z | 2021-05-13T16:30:21Z | 504caeafc5830937c5c315e552bd0486522c848c | 0 | 8d32525c8bc63f0d3d7b1eb214880e4919deaf43 | 1fa7b9ba8b695820474b0d045059995a34a1c684 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5297 | ||||
644773858 | MDExOlB1bGxSZXF1ZXN0NjQ0NzczODU4 | 5311 | closed | 0 | Remove version checks for older versions than the min deps | Illviljan 14371165 | Found some checks that should always be true nowadays. | 2021-05-14T15:01:17Z | 2021-05-18T18:12:50Z | 2021-05-15T04:36:15Z | 2021-05-15T04:36:15Z | 08955e20c0bef46d42ae97d7922a913f787223b2 | 0 | 295ad56fae9ea89b71167c65a07852b217fd7b07 | 9e84d093102c9d7b98fd03d25db0636ff4aaf073 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5311 | ||||
645121344 | MDExOlB1bGxSZXF1ZXN0NjQ1MTIxMzQ0 | 5314 | closed | 0 | Add version variable for optional imports in pycompat | Illviljan 14371165 | It was difficult to do version checks with optional imports so I added variables in pycompat and removed some of the imports I found. | 2021-05-15T10:43:35Z | 2021-05-18T18:13:32Z | 2021-05-16T23:50:31Z | 2021-05-16T23:50:31Z | 601219b1bb32e66701493a0fcf3f886082e1661e | 0 | b41c11322fd9dd89beb57024c703c4724e32bc8c | 08955e20c0bef46d42ae97d7922a913f787223b2 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5314 | ||||
645128648 | MDExOlB1bGxSZXF1ZXN0NjQ1MTI4NjQ4 | 5315 | closed | 0 | Use _unstack_once for valid dask and sparse versions | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Requires #5314 - [x] Passes `pre-commit run --all-files` | 2021-05-15T11:42:57Z | 2021-05-18T18:13:50Z | 2021-05-17T22:49:18Z | 2021-05-17T22:49:18Z | 9165c266f52830384c399f0607a4123e65bb7803 | 0 | 7ee325d928d173a70ea55dda60bd7cef965b4073 | 2bb5d20fb2b4158390ab05aa6bf598b78f2caa9d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5315 | ||||
645372217 | MDExOlB1bGxSZXF1ZXN0NjQ1MzcyMjE3 | 5319 | closed | 0 | Convert new_shape from list to tuple in _unstack_once | Illviljan 14371165 | Having `new_shape` as a `list` broke some checks in sparse. `.shape` is usually a tuple so I changed `new_shape` to be a tuple as well. sparse arrays errors one step further down now instead, at the item assignment... - Related to #5315 - [x] Passes `pre-commit run --all-files` | 2021-05-16T20:04:05Z | 2021-05-18T18:14:00Z | 2021-05-16T23:50:10Z | 2021-05-16T23:50:10Z | cef9356339760204d31a47a8228eaafdc0aa3d65 | 0 | 5d87b4c9be44b8d2acf62393119d059a17728432 | 1843d8c9acaece9cc2df8b24d67460529603145e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5319 | ||||
647900312 | MDExOlB1bGxSZXF1ZXN0NjQ3OTAwMzEy | 5345 | closed | 0 | Remove npcompat.moveaxis | Illviljan 14371165 | Remove some compatibility code that doesn't seem necessary anymore. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Passes `pre-commit run --all-files` | 2021-05-19T17:41:31Z | 2021-07-02T16:08:17Z | 2021-06-17T17:18:28Z | 2021-06-17T17:18:28Z | 450958fb95b3f378e0b8ff8db5266ce38d973b33 | 0 | c9b84148d9d0252a182c35686a4ec8cf6d7eb630 | 6d2a73018f3852e359f796b329731d8210e74f8a | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5345 | ||||
650786045 | MDExOlB1bGxSZXF1ZXN0NjUwNzg2MDQ1 | 5365 | closed | 0 | Add support for cross product | Illviljan 14371165 | Adds support for the cross product. New tricks possible thanks to xarray: * When coords are defined you can fill with 2 values instead of only 1 like numpy. * When coords are defined you can fill inbetween values as well instead of just appending zeros at the end like numpy. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #3279 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` | 2021-05-23T13:03:42Z | 2022-08-12T09:00:21Z | 2021-12-29T07:54:37Z | 2021-12-29T07:54:37Z | 379b5b757e5e84628629091296b099b856da1682 | 0 | e6020e336bbbbaa70ca2e49c9c08e2eb5d56d14d | 3960ea3ba08f81d211899827612550f6ac2de804 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5365 | ||||
662943315 | MDExOlB1bGxSZXF1ZXN0NjYyOTQzMzE1 | 5443 | closed | 0 | Fix invalid suggestion in error in apply_variable_ufunc | Illviljan 14371165 | The suggestion appears to be copy/paste-friendly but the format was slightly off. | 2021-06-06T12:45:22Z | 2021-07-02T16:06:47Z | 2021-06-06T17:42:46Z | 2021-06-06T17:42:46Z | ce01f42134962b63d453657c5cb649ebf152283d | 0 | 3e566cebcbb702228789575a606d99497feb9e26 | e96f860d0e1d48e004b34d1dbc817a4a1a21e22f | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5443 | ||||
666258854 | MDExOlB1bGxSZXF1ZXN0NjY2MjU4ODU0 | 5456 | closed | 0 | Use checks from .pycompat in more places | Illviljan 14371165 | Found a few more places where modules are being imported just for version checking. | 2021-06-09T19:34:46Z | 2021-06-09T20:25:04Z | 2021-06-09T20:01:24Z | 2021-06-09T20:01:24Z | 4434f034a36886609ac0492d3307954163ecbea6 | 0 | d487ee57bbd645c06316df43d308f60282047505 | ff1fbf5fc5ccef03fe724a743e8b4e30cb1ae5d4 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5456 | ||||
668897974 | MDExOlB1bGxSZXF1ZXN0NjY4ODk3OTc0 | 5464 | closed | 0 | Allow plotting categorical data | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #4260 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ```python a = xr.DataArray( [0, 1, 2], dims=("dim_1"), coords=dict(dim_1=(["dim_1"], ["u", "v", "w"])), ) a.plot() ```  ```python a = xr.DataArray( [[0, 1, 2], [3, 4, 5]], dims=("dim_0", "dim_1"), coords=dict(dim_0=(["dim_0"], [0, 1]), dim_1=(["dim_1"], ["u", "v", "w"])), ) a.plot() ```  | 2021-06-12T15:51:34Z | 2021-07-18T21:19:21Z | 2021-06-21T17:45:39Z | 2021-06-21T17:45:39Z | b52b29ddebf65316917cca362101751249cc2b08 | 0 | 43d669638d19f66703cdeda39bc7968cb6b7965e | 5a14d7d398be7e0efc6d5c8920dc8886212c3b2a | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5464 | ||||
673873609 | MDExOlB1bGxSZXF1ZXN0NjczODczNjA5 | 5494 | closed | 0 | Fix typing in to_stacked_array | Illviljan 14371165 | Attempt to fix these errors found in #5365. ``` xarray/core/computation.py:1533: error: Argument "variable_dim" to "to_stacked_array" of "Dataset" has incompatible type "Hashable"; expected "str" [arg-type] xarray/core/computation.py:1533: error: Argument "sample_dims" to "to_stacked_array" of "Dataset" has incompatible type "Mapping[Hashable, int]"; expected "Sequence[Hashable]" [arg-type] ``` - [x] Passes `pre-commit run --all-files` | 2021-06-19T12:31:26Z | 2021-07-02T16:09:07Z | 2021-06-24T18:21:03Z | 2021-06-24T18:21:03Z | 0ba275bad0bb1d80d7b766f049860a78e45858eb | 0 | 6e8adb8b64214131f840ab03a6744a6c142ed5b9 | c5ae48848b1fcf778e7a143b98ec30cf7a5a6ca8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5494 | ||||
674085297 | MDExOlB1bGxSZXF1ZXN0Njc0MDg1Mjk3 | 5502 | closed | 0 | Use integer type hints in chunk functions | Illviljan 14371165 | Attempt to fix errors found in #5365. I've changed it to integers because when does it ever make sense to input 1.5 or a complex number? It will always be forced to integers anyway: https://github.com/dask/dask/blob/8aea537d925b794a94f828d35211a5da05ad9dce/dask/array/core.py#L2815 Integers don't work with Numbers: ``` xarray/core/computation.py:1576: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]" [dict-item] xarray/core/computation.py:1576: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, Tuple[Number, ...]]" [dict-item] xarray/core/computation.py:1536: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]" [dict-item] ``` Floats don't work with Numbers: ``` xarray/core/computation.py:1536: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]" [dict-item] xarray/core/computation.py:1578: error: Dict entry 0 has incompatible type "Hashable": "float"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]" [dict-item] xarray/core/computation.py:1578: error: Dict entry 0 has incompatible type "Hashable": "float"; expected "Hashable": "Union[None, Number, Tuple[Number, ...]]" [dict-item] ``` This workaround seems related to: https://github.com/python/mypy/issues/3186 - [ ] Closes #xxxx - [ ] Tests added - [ ] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2021-06-20T19:18:58Z | 2021-07-02T16:07:43Z | 2021-06-21T07:10:32Z | 2021-06-21T07:10:31Z | a73628317acd73cb55f03ad036708d493f4a8b54 | 0 | 5ece8639065d76513be1c56b68b909a61e9c1245 | 28d3349bbe8c9881448bba45785c1013b006d6f9 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5502 | ||||
677702179 | MDExOlB1bGxSZXF1ZXN0Njc3NzAyMTc5 | 5532 | closed | 0 | Remove self from classes in How to add new backends docs | Illviljan 14371165 | Copy pasting the examples in http://xarray.pydata.org/en/stable/internals/how-to-add-new-backend.html resulted in crashes. Make the docs copy/paste friendly by removing the self arguments. Example: ```python expected = xr.Dataset( dict(a=2 * np.arange(5)), coords=dict(x=("x", np.arange(5), dict(units="s"))) ) class CustomBackend(xr.backends.BackendEntrypoint): def open_dataset( self, filename_or_obj, drop_variables=None, **kwargs, ): return expected.copy(deep=True) xr.open_dataset("fake_filename", engine=CustomBackend) TypeError: open_dataset() missing 1 required positional argument: 'filename_or_obj' ``` This works if self is removed: ```python expected = xr.Dataset( dict(a=2 * np.arange(5)), coords=dict(x=("x", np.arange(5), dict(units="s"))) ) class CustomBackend(xr.backends.BackendEntrypoint): def open_dataset( filename_or_obj, drop_variables=None, **kwargs, ): return expected.copy(deep=True) xr.open_dataset("fake_filename", engine=CustomBackend) <xarray.Dataset> Dimensions: (a: 5, x: 5) Coordinates: * a (a) int32 0 2 4 6 8 * x (x) int32 0 1 2 3 4 Data variables: *empty* ``` <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Passes `pre-commit run --all-files` | 2021-06-25T07:48:32Z | 2021-07-02T16:07:16Z | 2021-06-25T08:12:59Z | 2021-06-25T08:12:59Z | 697e9a9cdc2678cd867f774cb81a2032211ba942 | 0 | f39e73c1751fc88154db44af83cc8dadbe91456d | 0ba275bad0bb1d80d7b766f049860a78e45858eb | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5532 | ||||
678507430 | MDExOlB1bGxSZXF1ZXN0Njc4NTA3NDMw | 5540 | open | 0 | Cache some properties | Illviljan 14371165 | Cache some small properties that are rather slow to calculate but doesn't change that often. Questions that needs to be resolved: - [ ] Can these properties change during the lifetime of the class? If so the cache needs to be reset when that happens. <!-- Feel free to remove check-list items aren't relevant to your change --> - [ ] Related to #3514 - [ ] Tests added - [ ] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` Notes * Mixin classes makes it difficult to cache properties. For example `ndim` in `NdimSizeLenMixin` cannot be easily be replaced with `cache_readonly`. | 2021-06-27T12:22:16Z | 2022-07-10T14:34:34Z | dff867e6da2d735107ea30b2efc90dd6bfbc1c98 | 1 | 3d117c320a143fd3d70b67ed2c707e1f9174cb6b | ae2c3a74f1c2ca7dc41bbf34862b239b7e3c5651 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5540 | ||||||
678512559 | MDExOlB1bGxSZXF1ZXN0Njc4NTEyNTU5 | 5541 | closed | 0 | Faster transpose | Illviljan 14371165 | Make the transpose faster. * `get_axis_num` seems slow, avoid triggering it unnecessarily for example when using 1d arrays. * .copy(deep=False) is the bottleneck for 1d arrays. Not sure if it can be dealt with though. <!-- Feel free to remove check-list items aren't relevant to your change --> - [ ] Closes #xxxx - [ ] Tests added - [ ] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2021-06-27T13:00:21Z | 2021-06-27T19:58:14Z | 2021-06-27T19:29:58Z | 2021-06-27T19:29:58Z | 1a0ac9993ef9eaa273d625d3ccef56b556abe53a | 0 | 4e79b2b6610479ac39ef0f3a1f3ed0f99b583b9d | 4fb34944ce853bca462b0d1c84787637f2d9e137 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5541 | ||||
678579221 | MDExOlB1bGxSZXF1ZXN0Njc4NTc5MjIx | 5542 | open | 0 | Do not transpose 1d arrays during interpolation | Illviljan 14371165 | Seems a waste of time to transpose 1d arrays. <!-- Feel free to remove check-list items aren't relevant to your change --> - [ ] Closes #xxxx - [ ] Tests added - [ ] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2021-06-27T20:56:13Z | 2022-10-12T20:12:11Z | a10a4e9bd17a6d255c663282261931b2bb398718 | 0 | 131ee1a706968185bdcfd0f8940cba526752af22 | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5542 | ||||||
680968927 | MDExOlB1bGxSZXF1ZXN0NjgwOTY4OTI3 | 5555 | closed | 0 | Faster interpolation using meta | Illviljan 14371165 | Removing a commented improvement that required that the minimum version requirement for dask to be increased. - [x] Requires #5556 - [x] Passes `pre-commit run --all-files` | 2021-06-30T15:13:44Z | 2021-07-02T16:05:41Z | 2021-07-02T12:49:50Z | 2021-07-02T12:49:49Z | 2f8623d4d9929b61ff4ebfd5232c12474420dfae | 0 | 47b450ba1bf04c88def75ec80114da750bc46253 | 0e7c92c701bc7a426404fcf5559397f9781f9e80 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5555 | ||||
681113128 | MDExOlB1bGxSZXF1ZXN0NjgxMTEzMTI4 | 5556 | closed | 0 | Test test_missing.py without cftime installed | Illviljan 14371165 | The checks that didn't install cftime skipped the entire test_missing.py. Because cftime is also imported when importing the list of calenders `_CFTIME_CALENDERS`. Added also skips for the cases that assumed cftime was installed so they are correctly skipped. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Passes `pre-commit run --all-files` | 2021-06-30T18:31:08Z | 2021-07-02T16:05:53Z | 2021-07-01T04:47:12Z | 2021-07-01T04:47:12Z | 0e7c92c701bc7a426404fcf5559397f9781f9e80 | 0 | a77360530d5e1f6ae3d0f66084fec7966e754c1b | c5dbe98ce8957b6af5efa1308756296f7fa310c1 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5556 | ||||
692943162 | MDExOlB1bGxSZXF1ZXN0NjkyOTQzMTYy | 5622 | open | 0 | Replace dataset scatter with the dataarray version | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [ ] Requires #4820 - [ ] Tests added - [ ] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2021-07-19T21:39:23Z | 2022-10-15T20:11:34Z | 71bd3a46e00a0d526fcf67dfcc24a9ccc4f503b2 | 1 | 5e8ce16d3150bf5f6454bdb25572ac53080554ea | 8f6873026587f30f0ac10af740ebe947797208a1 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5622 | ||||||
700860368 | MDExOlB1bGxSZXF1ZXN0NzAwODYwMzY4 | 5661 | closed | 0 | Speed up _mapping_repr | Illviljan 14371165 | Creating a ordered list for filtering purposes using `.items()` turns out being rather slow. Use `.keys()` instead as that doesn't trigger a bunch of dataarray initializations. - [x] Passes `pre-commit run --all-files` Test case: ```python import numpy as np import xarray as xr a = np.arange(0, 2000) data_vars = dict() for i in a: data_vars[f"long_variable_name_{i}"] = xr.DataArray( name=f"long_variable_name_{i}", data=np.arange(0, 20), dims=[f"long_coord_name_{i}_x"], coords={f"long_coord_name_{i}_x": np.arange(0, 20) * 2}, ) ds0 = xr.Dataset(data_vars) ds0.attrs = {f"attr_{k}": 2 for k in a} ``` Before: ```python %timeit print(ds0) 14.6 s ± 215 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) ``` After: ```python %timeit print(ds0) 120 ms ± 2.06 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) ``` | 2021-08-01T08:44:17Z | 2022-08-12T09:07:44Z | 2021-08-02T19:45:16Z | 2021-08-02T19:45:16Z | 8f5b4a185b304ab68723c390b1ad88e57f9a60d6 | 0 | 704d14e731d4d8d633aeacb29b27e142766badd1 | c44b816bf4a858af1bb621d96e1d3482db3976da | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5661 | ||||
700865417 | MDExOlB1bGxSZXF1ZXN0NzAwODY1NDE3 | 5662 | closed | 0 | Limit and format number of displayed dimensions in repr | Illviljan 14371165 | When there's a lot of dims, create a new line and continue printing. If there's even more dims that even a few rows can't display them all then limit the number of dims displayed in similar fashion to coordinates. Questions: * Where should this be used? Datasets, dataarrays, dimensions without coords? * Should `dim_summary_limited` be a straight replacement for `dim_summary`? I'm not super familiar with all the places it is used so I'm unsure. * Should we print the number of dims shown and the total number of dims? If yes, then we need to rethink how the dimensions are displayed, as it's not possible with the current style. See the example with short names. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #5546 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` Test case: ```python import numpy as np import xarray as xr # A few dims with long names: a = np.arange(0, 24) data_vars = dict() for i in a: data_vars[f"long_variable_name_{i}"] = xr.DataArray( name=f"long_variable_name_{i}", data=np.arange(0, 20), dims=[f"long_coord_name_{i}_x"], coords={f"long_coord_name_{i}_x": np.arange(0, 20) * 2}, ) ds0 = xr.Dataset(data_vars) ds0.attrs = {f"attr_{k}": 2 for k in a} print(ds0) <xarray.Dataset> Dimensions: (long_coord_name_0_x: 20, long_coord_name_10_x: 20, long_coord_name_11_x: 20, long_coord_name_12_x: 20, long_coord_name_13_x: 20, long_coord_name_14_x: 20, long_coord_name_15_x: 20, long_coord_name_16_x: 20, long_coord_name_17_x: 20, long_coord_name_18_x: 20, long_coord_name_19_x: 20, long_coord_name_1_x: 20, long_coord_name_20_x: 20, long_coord_name_21_x: 20, long_coord_name… | 2021-08-01T09:12:24Z | 2022-08-12T09:07:49Z | 2022-01-03T17:38:49Z | 2022-01-03T17:38:48Z | be4b9809b47e1816dbf6a37a263aeb77df95e6b7 | 0 | be49eb7e442c3efbda6a7a47ad7a97130fd82223 | 2694046c748a51125de6d460073635f1d789958e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5662 | ||||
702080186 | MDExOlB1bGxSZXF1ZXN0NzAyMDgwMTg2 | 5667 | open | 0 | Allow .attrs to support any dict-likes | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #5655 - [ ] Tests added - [ ] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2021-08-03T08:43:19Z | 2022-10-12T18:08:25Z | 2ff5b8bdd22e47e36d373aec4ccd7bc2d4d4a35b | 1 | 0e6036f383614ba3795a9ad9035349c42d38c2c9 | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5667 | ||||||
705406464 | MDExOlB1bGxSZXF1ZXN0NzA1NDA2NDY0 | 5678 | closed | 0 | Add typing to the OPTIONS dict | Illviljan 14371165 | This adds typing to the dict values. Using variables as keys is apparently not permitted by mypy so that part has been removed. Attempts to fix issues found in #5662. <!-- Feel free to remove check-list items aren't relevant to your change --> | 2021-08-06T11:21:02Z | 2024-03-13T21:45:54Z | 2021-08-19T22:15:23Z | 2021-08-19T22:15:23Z | b7737f29e58df923b1fc6ba28a961a259fa98950 | 0 | c11aac2f00edf3584d1eec508fc850fb8f17e084 | 2705c63e0c03a21d2bbce3a337fac60dd6f6da59 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5678 | ||||
705956031 | MDExOlB1bGxSZXF1ZXN0NzA1OTU2MDMx | 5684 | closed | 0 | Initialize custom backends in open_dataset | Illviljan 14371165 | The backend classes are initialized in the `build_engine` function: https://github.com/pydata/xarray/blob/8b95da8e21a9d31de9f79cb0506720595f49e1dd/xarray/backends/plugins.py#L93 This wasn't the case for custom backends: https://github.com/pydata/xarray/blob/8b95da8e21a9d31de9f79cb0506720595f49e1dd/xarray/backends/plugins.py#L161 This PR initializes the engine, fixes the incorrect signature in the test (#5033) and reverts the doc changes done in #5532. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-08-07T23:07:33Z | 2021-10-09T23:49:55Z | 2021-10-09T23:49:55Z | 2021-10-09T23:49:55Z | fd424496f81c8802e5f9447b2e7fb7737ca7fb04 | 0 | a4d12c1901790fdb084378b1142d498650740378 | 5499949b5937277dcd599a182201d0e2fc5e818e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5684 | ||||
712191811 | MDExOlB1bGxSZXF1ZXN0NzEyMTkxODEx | 5702 | closed | 0 | Move docstring for xr.set_options to numpy style | Illviljan 14371165 | While trying to figure out which types are allowed in #5678 I felt that the `set_options` docstring was rather hard to read. Moving it to typical numpy docstring style helped at least for me. | 2021-08-13T09:05:56Z | 2022-08-12T09:06:23Z | 2021-08-19T22:27:39Z | 2021-08-19T22:27:39Z | e26aec9500e04f3b926b248988b976dbfcb9c632 | 0 | 89d02580e6a51a28ebcd7590631cf8d401e0d318 | 3956b73a7792f41e4410349f2c40b9a9a80decd2 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5702 | ||||
712214858 | MDExOlB1bGxSZXF1ZXN0NzEyMjE0ODU4 | 5703 | closed | 0 | Use the same bool validator as other inputs for use_bottleneck in xr.set_options | Illviljan 14371165 | Minor change to align with other booleans. | 2021-08-13T09:36:03Z | 2022-08-12T09:07:28Z | 2021-08-13T13:41:42Z | 2021-08-13T13:41:42Z | 2705c63e0c03a21d2bbce3a337fac60dd6f6da59 | 0 | 2ddef9bb650091dcf1ea5c8960d24def3a4f5e4c | 3956b73a7792f41e4410349f2c40b9a9a80decd2 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5703 | ||||
712223776 | MDExOlB1bGxSZXF1ZXN0NzEyMjIzNzc2 | 5704 | open | 0 | Allow in-memory arrays with open_mfdataset | Illviljan 14371165 | The docstring seems to imply that it's possible to get in-memory arrays: https://github.com/pydata/xarray/blob/4bb9d9c6df77137f05e85c7cc6508fe7a93dc0e4/xarray/backends/api.py#L732 But it doesn't seem possible because of: https://github.com/pydata/xarray/blob/4bb9d9c6df77137f05e85c7cc6508fe7a93dc0e4/xarray/backends/api.py#L899 This PR removes that `or` check, changes the default to `chunk={}`, and fixes the failing tests. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Noticed in #5689 - [ ] Closes #7792 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-08-13T09:50:26Z | 2023-04-29T06:58:26Z | 2c505d513d75bc6c1c30854a5860343dd5daabe8 | 0 | 34442811c68fc38ddcda2370eb7b00bb943af73e | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5704 | ||||||
714274870 | MDExOlB1bGxSZXF1ZXN0NzE0Mjc0ODcw | 5710 | closed | 0 | Fix errors in test_latex_name_isnt_split for min environments | Illviljan 14371165 | There's some error in the minimum environments (for example `ubuntu-latest py37-bare-minimum`) introduced in #5682 but was hidden in all other errors because of #5654: ``` =========================== short test summary info ============================ ERROR xarray/tests/test_plot.py::test_latex_name_isnt_split - NameError: name... = 7908 passed, 4163 skipped, 202 xfailed, 42 xpassed, 89 warnings, 1 error in 279.31s (0:04:39) = ``` But when looking further in the details it mentions a completely different function crashing because matplotlib isn't installed, which is true but the function doesn't test any mpl-specific things. ``` ==================================== ERRORS ==================================== _______________ ERROR at teardown of test_latex_name_isnt_split ________________ [gw0] linux -- Python 3.7.10 /usr/share/miniconda/envs/xarray-tests/bin/python @pytest.fixture(scope="function", autouse=True) def test_all_figures_closed(): """meta-test to ensure all figures are closed at the end of a test Notes: Scope is kept to module (only invoke this function once per test module) else tests cannot be run in parallel (locally). Disadvantage: only catches one open figure per run. May still give a false positive if tests are run in parallel. """ yield None > open_figs = len(plt.get_fignums()) E NameError: name 'plt' is not defined /home/runner/work/xarray/xarray/xarray/tests/test_plot.py:72: NameError ``` Might be something that pytest runs on every function. Not sure if there's a clean way of turning it off, but requiring matplotlib to be installed works of course. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Passes `pre-commit run --all-files` | 2021-08-17T13:57:44Z | 2021-08-18T03:02:25Z | 2021-08-18T02:34:05Z | 2021-08-18T02:34:05Z | de867e613dc14ff80d7b898d85c4171121ad353d | 0 | f12d9327aa2aa1b5384cf7759658798a72ea4876 | 41099669c63c7dbb51b112fdec09dfae07379fe7 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5710 | ||||
717180890 | MDExOlB1bGxSZXF1ZXN0NzE3MTgwODkw | 5726 | closed | 0 | Bump minimum version requirements for dask from 2.15 to 2.24 | Illviljan 14371165 | Dask released 2.24 around august 22 2020: https://github.com/dask/dask/releases/tag/2.24.0 <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] May help fixing errors in #5571 - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-08-21T17:07:10Z | 2021-09-08T17:58:26Z | 2021-08-25T21:08:01Z | 2021-08-25T21:08:01Z | 4fd81b51101aceaad08570f1368ad4b50a946da5 | 0 | 7ee9754f3e0e9dab9b2bb7e2ec4f91a10dd89a79 | a6b44d72010c5311fad4f60194b527194e26094b | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5726 | ||||
728819895 | MDExOlB1bGxSZXF1ZXN0NzI4ODE5ODk1 | 5772 | closed | 0 | Create benchmark for groupby | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Benchmark from #659 - [x] Tests added - [x] Passes `pre-commit run --all-files` | 2021-09-07T17:23:50Z | 2022-08-12T09:03:28Z | 2021-09-20T20:15:30Z | 2021-09-20T20:15:30Z | 7a65d59637efb0c78d5f657f3178ffb332a54dfb | 0 | bc933203724b5cdc6253e9c8d4f0e8f6c704e818 | f994c4c1de0b5fd9354db5480ce478843778829e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5772 | ||||
733958504 | PR_kwDOAMm_X84rv1Fo | 5794 | closed | 0 | Single matplotlib import | Illviljan 14371165 | Reduce number of imports inside functions. I think it helps making the code easier to read as well, as now you know that `plt` is always available. - [x] Tests added - [x] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` Seems to not be a major difference in initial imports from (my small sample of) repeated tests: This branch: ```python %timeit -n1 -r1 import xarray 3.81 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.83 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.87 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.7 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.77 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.91 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.8 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) np.mean([3.81, 3.83, 3.87, 3.7, 3.77, 3.91, 3.8]) Out[3]: 3.812857142857143 ``` Main: ```python %timeit -n1 -r1 import xarray 3.93 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.69 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.64 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.76 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.79 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.81 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) 3.68 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each) np.mean([3.93, 3.69, 3.64, 3.76, 3.79, 3.81, 3.68]) Out[4]: 3.7571428571428567 ``` | 2021-09-14T19:15:12Z | 2022-08-12T09:06:30Z | 2021-10-24T09:54:28Z | 2021-10-24T09:54:28Z | ea2886136dec7047186d5a73380d50130a7b5241 | 0 | f34595fea42924a7832323d5d047f673cecdcc37 | 07de257c5884df49335496ee6347fb633a7c302c | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5794 | ||||
734066610 | PR_kwDOAMm_X84rwPey | 5796 | closed | 0 | Add asv benchmark jobs to CI | Illviljan 14371165 | Workflow based on the version from scikit-image. Modfied to have `asv.conf.json` inside a subdirectory and triggers every push if the PR has the `run-benchmark` label. Notes: * https://github.com/scikit-image/scikit-image doesn't have the same benchmark folder setup, for example config file is in root directory, other folder names. * https://github.com/numpy/numpy has same folder name as sckit-image. config file is in the folder however. References: * https://labs.quansight.org/blog/2021/08/github-actions-benchmarks/ * https://github.com/scikit-image/scikit-image/pull/5424 * https://github.com/jaimergp/scikit-image/pull/1 Tests checked: - [x] interp - [x] pandas - [x] repr - [x] combine - [x] datarray_missing - [x] dataset_io - Skipped too difficult to understand. Some of the tests are possibly broken. - [x] indexing - [x] reindexing - [x] rolling - Some division by 0 prints left. - [x] unstacking TODO: * self.setup_cache <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Related to #4648 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-09-14T22:00:49Z | 2022-08-12T09:01:15Z | 2021-10-24T10:08:02Z | 2021-10-24T10:08:02Z | 26e2e61e27a04a78f4887ecdc8166715a9b99c1a | 0 | 70cd679eccf7ffc0dad3f8759f3d67e626a4d449 | 5499949b5937277dcd599a182201d0e2fc5e818e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5796 | ||||
753444152 | PR_kwDOAMm_X84s6KU4 | 5844 | closed | 0 | Add python 3.10 to CI | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> Waiting on * https://github.com/ContinuumIO/anaconda-issues/issues/12669 * https://github.com/conda/conda/pull/10970 * https://github.com/conda-forge/python-feedstock/pull/511 * https://github.com/conda-forge/numba-feedstock/pull/86 * https://github.com/pydap/pydap/pull/210 - [ ] Closes #xxxx - [ ] Tests added - [ ] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2021-10-07T18:49:43Z | 2022-08-12T09:05:25Z | 2022-01-21T17:06:43Z | 2022-01-21T17:06:42Z | 10855dc1a82350bfdbff5489f8b9a9764623bb5e | 0 | a4f32ed728765145eedf727c98a9e7aef26049c0 | 176c6ebc5366cf5e98657c8f8ada324e96c5db1c | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5844 | ||||
754760094 | PR_kwDOAMm_X84s_Lme | 5849 | closed | 0 | Simplify transpose in xr.dot | Illviljan 14371165 | Minor change inspired by #5365. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Passes `pre-commit run --all-files` | 2021-10-10T18:45:41Z | 2021-10-11T06:16:05Z | 2021-10-11T06:16:05Z | 2021-10-11T06:16:05Z | 07de257c5884df49335496ee6347fb633a7c302c | 0 | 63e1a350431be59a25f1c76073c445ec292176e4 | c98579f9a84ecb06266b50b840c7393b38979cb3 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5849 | ||||
764806197 | PR_kwDOAMm_X84tlgQ1 | 5892 | closed | 0 | Drop support for python 3.7 | Illviljan 14371165 | This PR drops support for python 3.7 and removes a bit of compatibility code related to typing. <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #6138 - [x] Requires #5845 - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] Can be merged once we plan to make a release after 2021-12-26. https://numpy.org/neps/nep-0029-deprecation_policy.html | 2021-10-24T05:32:10Z | 2022-08-12T09:05:56Z | 2022-01-11T21:22:46Z | 2022-01-11T21:22:46Z | fbd11bd4f904940181321cbdd4c536d118fd85c3 | 0 | 729789a32bee71c8b825adce40d96feab7410d94 | 51d4d5ff2e490fdab5c2881b31fc395f9b86612b | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5892 | ||||
764846626 | PR_kwDOAMm_X84tlqIi | 5893 | closed | 0 | Only run asv benchmark when labeled | Illviljan 14371165 | Small fix to #5796. The benchmark was only intended to run when the PR has the label `run-benchmark`. I split the if condition in multiple lines for better readability thinking it didn't change the function but it did. | 2021-10-24T10:44:17Z | 2022-08-12T09:02:27Z | 2021-10-24T11:35:42Z | 2021-10-24T11:35:42Z | fdabf3bea5c750939a4a2ae60f80ed34a6aebd58 | 0 | 3273149ac80ae4249d456caad5480a70b28e8019 | 26e2e61e27a04a78f4887ecdc8166715a9b99c1a | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5893 | ||||
765777711 | PR_kwDOAMm_X84tpNcv | 5896 | closed | 0 | Use importlib.resources to load files | Illviljan 14371165 | Following: https://importlib-resources.readthedocs.io/en/latest/migration.html#pkg-resources-resource-string - [ ] Closes #xxxx - [ ] Tests added - [ ] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2021-10-25T19:32:30Z | 2022-08-12T09:05:51Z | 2021-10-25T21:18:18Z | c41f81da37e5f80d46a01031434f8e5666871ab2 | 1 | 98dec8eb822575a0fa14185dc0f45eb30d5b665c | fdabf3bea5c750939a4a2ae60f80ed34a6aebd58 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5896 | |||||
780048737 | PR_kwDOAMm_X84ufplh | 5986 | closed | 0 | Use set_options for asv bottleneck tests | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> Inspired by #5734, remove the non-bottleneck build and instead use `xr.set_options` on the relevant tests. This makes the report much more readable and reduces testing time quite a bit since everything isn't accelerated by bottleneck. - [x] Passes `pre-commit run --all-files` | 2021-11-14T09:10:38Z | 2022-08-12T09:07:55Z | 2021-11-15T20:40:38Z | 2021-11-15T20:40:38Z | 95394d5bcbd7d73bae34c091a080c42bcfc9f07d | 0 | 519469c60435aba589188fc5ec44145f4215f241 | 5e2f1dcf103da2b2b047b9d136c194a2e9a2e4f3 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5986 | ||||
780096252 | PR_kwDOAMm_X84uf1L8 | 5988 | closed | 0 | Check for py version instead of try/except when importing entry_points | Illviljan 14371165 | This removes the need for the `# type: ignore` to make mypy happy. It is also clearer when this compatibillity code can be removed. | 2021-11-14T14:23:18Z | 2022-08-12T09:08:25Z | 2021-11-14T20:16:57Z | 2021-11-14T20:16:57Z | a883ed02222384737e52290296ab3367fc760b95 | 0 | 1517de642b456497265c73f0935a8ae1c46355c4 | 5e2f1dcf103da2b2b047b9d136c194a2e9a2e4f3 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5988 | ||||
809993943 | PR_kwDOAMm_X84wR4bX | 6109 | closed | 0 | Remove registration of pandas datetime converter in plotting | Illviljan 14371165 | Back in 2017 the `register_pandas_datetime_converter_if_needed` was added to workaround matplotlib crashing when handling datetime objects, (#1669). The example that crashed back then was (#1661): ```python import xarray import numpy da = xarray.DataArray( numpy.arange(3*4).reshape(3,4), dims=("x", "y"), coords={"x": [1,2,3], "y": [numpy.datetime64(f"2000-01-{x:02d}") for x in range(1, 5)]}) da.plot.pcolormesh() ``` This has probably been working by default in matplotlib since 2.2.0, when datetime support was added https://github.com/matplotlib/matplotlib/releases/tag/v2.2.0. (https://github.com/matplotlib/matplotlib/pull/9779) Related issues: https://github.com/mwaskom/seaborn/issues/1325 <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #6102 - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-12-26T10:14:47Z | 2022-08-12T09:05:45Z | 2022-01-09T20:33:29Z | 2022-01-09T20:33:28Z | e7285ebc33561360dffe9af4f2db21808529dd17 | 0 | 228e0be009ddfb383495b0c9cfa5dcd7ae1b2793 | bc8d7f9e708dd510672fb52e402d988e4e6ee6d6 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6109 | ||||
818085461 | PR_kwDOAMm_X84wwv5V | 6150 | closed | 0 | Faster dask unstack | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> ref #5582 - [ ] Closes #xxxx - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2022-01-10T22:10:45Z | 2022-08-12T09:07:07Z | 2022-08-12T09:07:06Z | 9f50e484d1c42f6d2ee1bafe5ef1387b2b66897a | 1 | c13940909bc3bf55b073c58201a0893b1ceb2578 | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6150 | |||||
819106206 | PR_kwDOAMm_X84w0pGe | 6159 | closed | 0 | Import Literal from typing instead of typing_extensions | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> Small edit to #6121. | 2022-01-11T21:26:59Z | 2022-08-12T09:06:58Z | 2022-01-11T21:59:16Z | 2022-01-11T21:59:16Z | 18703bafe3fa712c537ad18bca904655e58dbe7e | 0 | 299d3767ca7bc676da03968777669914110201b1 | fbd11bd4f904940181321cbdd4c536d118fd85c3 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6159 | ||||
828836526 | PR_kwDOAMm_X84xZwqu | 6184 | closed | 0 | Add seed kwarg to the tutorial scatter dataset | Illviljan 14371165 | Allow controlling the randomness of the dataset. It's difficult to catch issues with the dataset if it always changes each run. | 2022-01-21T19:38:53Z | 2022-08-12T09:06:13Z | 2022-01-26T19:04:02Z | 2022-01-26T19:04:02Z | 4ef41129a8aeb48942b48be22cd2ecca811e3c3e | 0 | 574f583d754dfa096e449c75daa20d8931f4541d | c54123772817875678ec7ad769e6d4d6612aeb92 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6184 | ||||
840828191 | PR_kwDOAMm_X84yHgUf | 6239 | closed | 0 | Type NDArrayMixin | Illviljan 14371165 | Activate typing on these mixins by removing the Any. - [ ] Closes #xxxx - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2022-02-05T09:15:34Z | 2022-08-12T09:08:32Z | 2022-08-12T09:08:32Z | 15c62b87c74bf6b2dece662649956e6dfa4b1df0 | 1 | 0b5be1a057aa5e46b2a6f9cbdb24f13cbef50b73 | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6239 | |||||
840831688 | PR_kwDOAMm_X84yHhLI | 6240 | closed | 0 | Run pyupgrade on core/utils | Illviljan 14371165 | Make #6239 cleaner by running pyupgrade separately. pyupgrade fixes typing only if `from __future__ import annotations` has been manually added to the file. Could probably do this in other files as well. xref: #6244 | 2022-02-05T09:39:48Z | 2022-08-12T09:08:36Z | 2022-02-05T21:29:37Z | 2022-02-05T21:29:37Z | 56122ef34b10d1e586e3ed324daf4df38e6dee12 | 0 | 2fd532492756b62ff738eb6317821e90e6cf2ac3 | 33067cd24f66d4855babaa6801b009480c4e2cb2 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6240 | ||||
843749004 | PR_kwDOAMm_X84ySpaM | 6257 | closed | 0 | Run pyupgrade on core/weighted | Illviljan 14371165 | Clean up a little in preparation for #6059. <!-- Feel free to remove check-list items aren't relevant to your change --> - [ ] Closes #xxxx - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` xref: #6244 | 2022-02-09T10:38:06Z | 2022-08-12T09:08:47Z | 2022-02-09T12:52:39Z | 2022-02-09T12:52:39Z | 39860f9bd3ed4e84a5d694adda10c82513ed519f | 0 | 82d02224e8774cd92c464db85be8b483796050c1 | 48290fa14accd3ac87768d3f73d69493b82b0be6 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6257 | ||||
848804170 | PR_kwDOAMm_X84yl7lK | 6270 | closed | 0 | Update pyupgrade to py38-plus | Illviljan 14371165 | xref: #6244 | 2022-02-12T10:58:00Z | 2022-08-12T09:05:31Z | 2022-02-12T13:50:31Z | 2022-02-12T13:50:31Z | 472a16e5bcf5bcf375f23e215653631bd326b673 | 0 | 13abe722b69d8a5c4274a3659245403c9f23c300 | d994273b5d61bbdc2fde5050af5922deb66db274 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6270 | ||||
878249397 | PR_kwDOAMm_X840WQW1 | 6351 | closed | 0 | Run pyupgrade on core/groupby | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> Minor touch up looking through #5950. - [x] xref #6244 | 2022-03-12T20:46:15Z | 2022-08-12T09:05:37Z | 2022-03-13T04:21:54Z | 2022-03-13T04:21:54Z | d535a3bf46ec26e3857bd0a350120107bb9a2199 | 0 | a7afddce2a4ddea27beeb9ec785ff21ec5e7db2c | 229dad93e2c964c363afa4ab1673bb5b37151f7b | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6351 | ||||
881692842 | PR_kwDOAMm_X840jZCq | 6371 | closed | 0 | Remove test_rasterio_vrt_network | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> This test has been failing with a 404 error for a while. Remove the test because a lot of the functionality is implemented in rioxarray. - [x] Closes #6363 | 2022-03-16T18:49:29Z | 2022-08-12T09:06:02Z | 2022-03-17T06:25:22Z | 2022-03-17T06:25:22Z | 99229efa6030bf872444234723f2d3199c3ef1e3 | 0 | ae116a6100631a126a08e2865cfc400d77cde78d | 95bb9ae4233c16639682a532c14b26a3ea2728f3 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6371 | ||||
936617493 | PR_kwDOAMm_X84306YV | 6609 | closed | 0 | Add setuptools as dependency in ASV benchmark CI | Illviljan 14371165 | Adding `setuptools_scm[toml]` and `setuptools_scm_git_archive` appears to fix the issue. Not sure why this is needed though. - [x] Closes #6606 | 2022-05-14T20:33:09Z | 2022-05-15T17:14:24Z | 2022-05-14T23:06:44Z | 2022-05-14T23:06:44Z | 9a62c2a8ebf934646b898a137fe0409fe8781350 | 0 | 4445e445cb51491f6c1897f2b451610e8d62b8d0 | c34ef8a60227720724e90aa11a6266c0026a812a | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6609 | ||||
949476560 | PR_kwDOAMm_X844l9zQ | 6647 | closed | 0 | Allow all interp methods in typing | Illviljan 14371165 | Follow up from #6637. | 2022-05-27T16:30:54Z | 2022-05-29T11:33:43Z | 2022-05-29T01:12:08Z | 2022-05-29T01:12:08Z | 3e099e49cc571f26e8caa44e69d6473475887879 | 0 | 142ab267e144edb782efedd38e6a0c0ab8411e72 | 3f587b43660ab52a1ef4cd5828e57478ceb9f34a | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6647 | ||||
991891799 | PR_kwDOAMm_X847HxFX | 6764 | closed | 0 | Remove generic utils import | Illviljan 14371165 | Some minor import oddities I noticed while reading the code. | 2022-07-08T17:22:26Z | 2022-08-12T09:07:23Z | 2022-07-08T17:52:50Z | 2022-07-08T17:52:50Z | 4c8dd107a12882c546b9efd1fd0f342c7c958cb2 | 0 | c1aed5186bd64fb9e6697c894fad7f00a5db3631 | ce40b9391a996b8218e1c7b1e83905b8dd4bc1fd | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6764 | ||||
991918844 | PR_kwDOAMm_X847H3r8 | 6765 | closed | 0 | Use `math` instead of `numpy` in some places | Illviljan 14371165 | Use `math` instead of `numpy` where possible, looks better and seems faster as well. Idea from https://github.com/pydata/xarray/pull/6702#discussion_r903986442, https://github.com/dask/dask/pull/9232 Example: ```python %timeit math.prod((1, 2, 3)) 161 ns ± 10.5 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each) %timeit int(np.prod((1, 2, 3))) 11.9 µs ± 248 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each) ``` | 2022-07-08T18:02:33Z | 2022-08-12T09:07:12Z | 2022-07-09T07:51:15Z | 2022-07-09T07:51:15Z | 2736b285607d915077d8a1269d0dccf96ebd63b6 | 0 | dae34c7dd1201711f9177ca0896058c15d1b692e | 4c8dd107a12882c546b9efd1fd0f342c7c958cb2 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6765 | ||||
992015451 | PR_kwDOAMm_X847IPRb | 6767 | closed | 0 | Type `shape` methods | Illviljan 14371165 | The shape methods can have multiple integers inside the tuple, this fixes that and adds to typing to all shape methods I found. | 2022-07-08T20:23:59Z | 2022-08-12T09:06:53Z | 2022-07-09T07:51:28Z | 2022-07-09T07:51:28Z | ae2c3a74f1c2ca7dc41bbf34862b239b7e3c5651 | 0 | 5d371e77c4b58d0592803754358eb656b4c7c30f | 4c8dd107a12882c546b9efd1fd0f342c7c958cb2 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6767 | ||||
994666585 | PR_kwDOAMm_X847SWhZ | 6778 | closed | 0 | Add dataarray scatter | Illviljan 14371165 | Splitting up #5622 as the scope of it has grown too large now. * Adds support for dataarray scatter plots and replaces the dataset version. * Scatter now has 3d support with the z argument. * Scatter now always returns a single pathcollection, earlier it could return a list of pathcollection when using categoricals * Better legend, handles now categoricals. Making continous/discrete options slightly redundant, still there though. * Facetgrid generalized slightly to handle 3d plots. TODO: * sharex sharey test https://github.com/pydata/xarray/pull/7047: len(list(ax.get_shared_x_axes())) != 0 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2022-07-12T18:44:29Z | 2022-10-07T19:37:18Z | 2022-10-07T15:43:29Z | 2022-10-07T15:43:29Z | 8dac64b40bd05b72b2dad5d62074f1e288200dba | 0 | f676f8914ad9d241610df150dcc96197292ab625 | b290f5fb056a1a6a26cfeac6cfe814adceadc810 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6778 | ||||
994735898 | PR_kwDOAMm_X847Snca | 6779 | closed | 0 | Move _infer_meta_data and _parse_size to utils | Illviljan 14371165 | Reduce diffs in #6778. | 2022-07-12T20:01:59Z | 2022-08-12T09:03:53Z | 2022-07-12T20:45:02Z | 2022-07-12T20:45:02Z | 0efb2df867d46ecda9405d97b0ec37e585909a27 | 0 | 4b2cb93d317c2e687de012ce2c4450fe7db5b8d4 | 7cc6cc991e586a6158bb656b8001234ccda25407 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6779 | ||||
997173551 | PR_kwDOAMm_X847b6kv | 6784 | closed | 0 | Switch to T_DataArray and T_Dataset in concat | Illviljan 14371165 | Noticed these issues when trying to add typing to some helper functions in #6778. | 2022-07-14T22:31:02Z | 2022-07-26T15:07:18Z | 2022-07-18T14:46:07Z | 2022-07-18T14:46:07Z | 8f983f1664954c669c329dcd20e4384323dafa3c | 0 | 63e0f1d66de2de1bb8444a5b1c6ff743d7526419 | f045401ca79ecd1b80a0da67f44404c4e208fe31 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6784 | ||||
1007054529 | PR_kwDOAMm_X848Bm7B | 6823 | closed | 0 | Rely on array backend for string formatting | Illviljan 14371165 | * Rely on array backend for string formatting instead of forcing to numpy arrays. The previous implementation used `.values` to force to numpy arrays which doesn't work for sparse arrays and might be scary in the case of large dask arrays. * Only allow `format_spec` when dealing with scalar arrays, shape=(). Using f-strings is a common method to print the repr. If we want to have full support of `.__format__` we should probably add `format_spec` as input to `formatting.array_repr`. - [x] Closes #6822 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` ```python import pandas as pd import xarray as xr s = pd.Series( range(4), index=pd.MultiIndex.from_product([list("ab"), list("cd")]), ) da = xr.DataArray.from_series(s, sparse=True) # Handle sparse: print(f"Error: {da} is sparse") Error: <xarray.DataArray (level_0: 2, level_1: 2)> <COO: shape=(2, 2), dtype=float64, nnz=4, fill_value=nan> Coordinates: * level_0 (level_0) object 'a' 'b' * level_1 (level_1) object 'c' 'd' is sparse # Handle format_spec: da = xr.DataArray([1, 2, 3]) print(f'{da[0]}') <xarray.DataArray ()> array(1) print(f'{da[0]:d}') 1 print(f'{da[0]:f}') 1.000000 da = xr.DataArray([1, 2, 3]) print(f'{da:.f}') Traceback (most recent call last): (...) NotImplementedError: Using format_spec is only supported when shape is (). Got shape = (3,). ``` | 2022-07-25T09:43:21Z | 2022-08-08T15:11:34Z | 2022-08-08T15:11:34Z | 2022-08-08T15:11:34Z | c3d45b3adf1ae82067b279c2226e076e2fbb53e6 | 0 | 49b1c245a3e021c0763fee5f9c617a9212a785c7 | a17a00f8f95195838e1d7360426454c8ed0570ea | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6823 | ||||
1008986976 | PR_kwDOAMm_X848I-tg | 6831 | closed | 0 | Convert name to string | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [ ] Closes #xxxx - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2022-07-26T21:38:32Z | 2022-07-26T22:16:44Z | 2022-07-26T21:38:54Z | 0 | bf0a5db7113a607a644e52b005ffea5b9ec67b46 | 491fb16073ba72e5774387d0e94a3077459249f2 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6831 | ||||||
1008988226 | PR_kwDOAMm_X848I_BC | 6832 | closed | 0 | Convert name to string in label_from_attrs | Illviljan 14371165 | Make sure name is a string. Use the same `.format` method as in `_get_units_from_attrs` to convert to string. - [x] Closes #6826 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2022-07-26T21:40:38Z | 2022-08-12T09:02:01Z | 2022-07-26T22:48:39Z | 2022-07-26T22:48:39Z | 5a4505199fe7deb449835f7f624a83ae1efed1d2 | 0 | 6a60e97947a0a2e2fcc8ac71abd20c7da36d1360 | 2e02ca7367cc52d2d8618124c470f58ab2ea1de2 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6832 | ||||
1013637854 | PR_kwDOAMm_X848auLe | 6856 | closed | 0 | Better error message in _infer_meta_data | Illviljan 14371165 | Reduce diffs in #6778. I remember finding it annoying that I got a list of the valid strings but not the actual string used. | 2022-08-01T10:06:58Z | 2022-08-12T09:01:36Z | 2022-08-01T16:59:51Z | 2022-08-01T16:59:51Z | 88ac94942318e815ecce0d06644c6425412c623d | 0 | ebe2e46eee77260f9777d390668958917be83f08 | db634ea44f567dce678b8879cc66652fc7f7e70d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6856 | ||||
1014901785 | PR_kwDOAMm_X848fiwZ | 6862 | closed | 0 | Add typing to some interval functions | Illviljan 14371165 | Reduce diffs in #6778. `_interval_to_double_bound_points` was returning a `list` instead of `ndarray` which I had some issues with. | 2022-08-02T10:02:57Z | 2022-08-12T09:02:21Z | 2022-08-02T20:43:08Z | 2022-08-02T20:43:08Z | a17a00f8f95195838e1d7360426454c8ed0570ea | 0 | 729cf292fe759ebd1de4903b232deb1b46d8faa2 | ebfa77311280a15d8c455ceb5c8ddc25a2efef39 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6862 | ||||
1015693510 | PR_kwDOAMm_X848ikDG | 6871 | closed | 0 | Handle None in assert_valid_xy | Illviljan 14371165 | Reduce diffs in #6778. * Handle `None` as the error message suggest should be possible * Add some typing while at it. mypy noticed that Hashable cannot use `", ".join`-method so forcing them to `str` instead. Should be the same problem in #6856 but `Frozen` returns `Any` instead of `Hashable` for some reason. | 2022-08-02T23:37:19Z | 2022-08-12T08:59:59Z | 2022-08-03T22:08:45Z | 2022-08-03T22:08:45Z | 2c12cfc463ed179f05cdd82a6b1399044149b33c | 0 | 85393cf2b628ae3ce9dd82f9525e069d78442811 | a17a00f8f95195838e1d7360426454c8ed0570ea | MEMBER | { "enabled_by": { "login": "dcherian", "id": 2448579, "node_id": "MDQ6VXNlcjI0NDg1Nzk=", "avatar_url": "https://avatars.githubusercontent.com/u/2448579?v=4", "gravatar_id": "", "url": "https://api.github.com/users/dcherian", "html_url": "https://github.com/dcherian", "followers_url": "https://api.github.com/users/dcherian/followers", "following_url": "https://api.github.com/users/dcherian/following{/other_user}", "gists_url": "https://api.github.com/users/dcherian/gists{/gist_id}", "starred_url": "https://api.github.com/users/dcherian/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/dcherian/subscriptions", "organizations_url": "https://api.github.com/users/dcherian/orgs", "repos_url": "https://api.github.com/users/dcherian/repos", "events_url": "https://api.github.com/users/dcherian/events{/privacy}", "received_events_url": "https://api.github.com/users/dcherian/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Handle None in assert_valid_xy (#6871)", "commit_message": "* Handle none in assert_valid_xy\r\n\r\n* add test\r\n\r\n* Update xarray/tests/test_plot.py\r\n\r\n* Update test_plot.py\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/6871 | |||
1020894156 | PR_kwDOAMm_X8482ZvM | 6897 | closed | 0 | Type xr.tutorial | Illviljan 14371165 | Add some typing to the open_dataset functions. Was doing some debugging and I only got `Any` when trying to simplify the problem with tutorial data. | 2022-08-09T00:20:19Z | 2022-08-12T08:59:30Z | 2022-08-10T07:40:18Z | 2022-08-10T07:40:17Z | bdd1da8a221118b9cb217ecc9aeaeaadf0c6cf09 | 0 | e18b0466a4f49c85a6bd977d5b0076780068d1cf | 3c8ce0f4f6fd287bcd1bc3783d51d4ce5a6bc55d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6897 | ||||
1020901175 | PR_kwDOAMm_X8482bc3 | 6898 | closed | 0 | Fix mypy CI | Illviljan 14371165 | Fixes: ``` xarray/tests/test_backends_file_manager.py:56: error: Incompatible types in assignment (expression has type "_GeneratorContextManager[Any]", variable has type "WarningsChecker") [assignment] ``` Just added a ignore. | 2022-08-09T00:35:19Z | 2022-08-12T08:59:42Z | 2022-08-09T01:30:24Z | 2022-08-09T01:30:24Z | 3c8ce0f4f6fd287bcd1bc3783d51d4ce5a6bc55d | 0 | dbd1508b452082e3e9794a123b5f2ddfa0121f9d | c8607e19ba57537326114edcb1d56ab70fd05583 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6898 | ||||
1026947853 | PR_kwDOAMm_X849NfsN | 6917 | closed | 0 | Reuse total width calculation | Illviljan 14371165 | Minor tweak to reduce diffs in #6778. | 2022-08-15T22:21:31Z | 2022-08-15T22:40:06Z | 2022-08-15T22:40:06Z | 2022-08-15T22:40:06Z | fbaf815af746a73b29c2b927ccb3aaf37f3a8721 | 0 | eb1c98bdf81aa85c170fb3933852f4532011adbc | d797bfbce2db75131ca094e741e50be7b69b9f15 | MEMBER | { "enabled_by": { "login": "Illviljan", "id": 14371165, "node_id": "MDQ6VXNlcjE0MzcxMTY1", "avatar_url": "https://avatars.githubusercontent.com/u/14371165?v=4", "gravatar_id": "", "url": "https://api.github.com/users/Illviljan", "html_url": "https://github.com/Illviljan", "followers_url": "https://api.github.com/users/Illviljan/followers", "following_url": "https://api.github.com/users/Illviljan/following{/other_user}", "gists_url": "https://api.github.com/users/Illviljan/gists{/gist_id}", "starred_url": "https://api.github.com/users/Illviljan/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/Illviljan/subscriptions", "organizations_url": "https://api.github.com/users/Illviljan/orgs", "repos_url": "https://api.github.com/users/Illviljan/repos", "events_url": "https://api.github.com/users/Illviljan/events{/privacy}", "received_events_url": "https://api.github.com/users/Illviljan/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Reuse width variable (#6917)", "commit_message": "" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/6917 | |||
1026968481 | PR_kwDOAMm_X849Nkuh | 6918 | closed | 0 | Generalize set_(x, y, z)labels in facetgrids | Illviljan 14371165 | Prepare to be able to use a `.set_zlabels` in facetgrids. Reduces diffs in #6778. | 2022-08-15T22:45:15Z | 2022-08-17T17:33:19Z | 2022-08-17T17:21:40Z | 2022-08-17T17:21:40Z | 63d7eb9c45781309506c332a78828fe0e821b1a1 | 0 | 456b41918c54b6cbd7099c2e81a53ffb0eb75528 | fbaf815af746a73b29c2b927ccb3aaf37f3a8721 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6918 | ||||
1027962317 | PR_kwDOAMm_X849RXXN | 6923 | closed | 0 | Add Self in xarray.core.types | Illviljan 14371165 | Adds `typing_extensions.Self` wrapped in some safety checks. Wont really become useful until https://github.com/python/mypy/issues/11871 is fixed. But it can be used with pyright at least. | 2022-08-16T18:48:15Z | 2022-08-22T12:24:05Z | 2022-08-22T12:24:05Z | 2022-08-22T12:24:04Z | 790a444b11c244fd2d33e2d2484a590f8fc000ff | 0 | bf6d2df2b23d544a2facdfd8106a446a9c13df2d | fbaf815af746a73b29c2b927ccb3aaf37f3a8721 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6923 | ||||
1029276099 | PR_kwDOAMm_X849WYHD | 6926 | closed | 0 | Use micromamba in ASV benchmark workflow | Illviljan 14371165 | These changes should hopefully yield some performance improvements. | 2022-08-17T20:27:44Z | 2022-09-24T09:15:38Z | 2022-09-24T09:15:38Z | 2022-09-24T09:15:38Z | bda0a2faac5b870b39251da6ab4a0113377e32f7 | 0 | 3a77b7503452ad8878af5c8de5dfbf416942421c | 63ba862d03c8d0cd8b44d2071bc360e9fed4519d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6926 | ||||
1058767180 | PR_kwDOAMm_X84_G4FM | 7044 | closed | 0 | Self should be Any | Illviljan 14371165 | Self should be as permissive as possible until it works properly. Using `Any` instead of `TypeVar` avoids errors like these: `C:\users\j.w\documents\github\xarray\xarray\plot\facetgrid.py:462: error: Incompatible return value type (got "FacetGrid", expected "Self")` xref: #6923 | 2022-09-16T15:18:21Z | 2022-09-23T18:56:40Z | 2022-09-16T15:54:54Z | 2022-09-16T15:54:54Z | 09e467a6a3a8ed68c6c29647ebf2b09288145da1 | 0 | d38d484af603009f7b2a27c6f866ee63743bf820 | 63ba862d03c8d0cd8b44d2071bc360e9fed4519d | MEMBER | { "enabled_by": { "login": "Illviljan", "id": 14371165, "node_id": "MDQ6VXNlcjE0MzcxMTY1", "avatar_url": "https://avatars.githubusercontent.com/u/14371165?v=4", "gravatar_id": "", "url": "https://api.github.com/users/Illviljan", "html_url": "https://github.com/Illviljan", "followers_url": "https://api.github.com/users/Illviljan/followers", "following_url": "https://api.github.com/users/Illviljan/following{/other_user}", "gists_url": "https://api.github.com/users/Illviljan/gists{/gist_id}", "starred_url": "https://api.github.com/users/Illviljan/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/Illviljan/subscriptions", "organizations_url": "https://api.github.com/users/Illviljan/orgs", "repos_url": "https://api.github.com/users/Illviljan/repos", "events_url": "https://api.github.com/users/Illviljan/events{/privacy}", "received_events_url": "https://api.github.com/users/Illviljan/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Self should be Any (#7044)", "commit_message": "" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7044 | |||
1058795014 | PR_kwDOAMm_X84_G-4G | 7046 | closed | 0 | Add helper for setting axis limits in facetgrid | Illviljan 14371165 | This PR adds a helper method that sets the same axis limits for all plots in a facetgrid. Helpful when * wanting specific limits for all plots. * you want to make sure all data is visible by simply using the method without any inputs. Which is not certain if sharex/sharey isn't used, relevant when using 3d plots as they don't work. Split up from #6778. | 2022-09-16T15:47:17Z | 2022-09-26T16:54:04Z | 2022-09-25T15:29:01Z | 2022-09-25T15:29:01Z | 968443c81868b35e46f460a04d7135ce99e9c3e4 | 0 | 43b382a0aba1106ff829a1154251ba10e459796d | 63ba862d03c8d0cd8b44d2071bc360e9fed4519d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7046 | ||||
1058820904 | PR_kwDOAMm_X84_HFMo | 7047 | closed | 0 | Set sharex/sharey to False if using 3d plots | Illviljan 14371165 | Matplotlibs 3d plots appears to not support sharex/sharey. So reset to default values instead. This improves the look of the plot as axis values aren't deleted. Example: ```python import matplotlib.pyplot as plt fig = plt.figure() subplot_kws = {"projection":"3d"} ax1 = fig.add_subplot(211, **subplot_kws) ax1.plot([0, 1, 2], [5,6,6]) ax2 = fig.add_subplot(212, sharex = ax1, **subplot_kws) ax2.plot([0, 1, 2], [5,4,2]) # x axis is not linked. ``` Split up from #6778. | 2022-09-16T16:16:57Z | 2022-09-25T15:33:29Z | 2022-09-25T15:33:29Z | 2022-09-25T15:33:28Z | 212a5d7909e8dd54446b08574a0683e2477f2b40 | 0 | 8028ad1f0e5bf5f382e0f2ae09921abe59ff375d | 09e467a6a3a8ed68c6c29647ebf2b09288145da1 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7047 | ||||
1067443682 | PR_kwDOAMm_X84_n-Xi | 7082 | closed | 0 | Clearer variable names in FacetGrid._set_lims | Illviljan 14371165 | * Fix outdated typing. * Clearer variable names. | 2022-09-26T16:52:41Z | 2022-09-26T20:50:18Z | 2022-09-26T20:50:18Z | 2022-09-26T20:50:18Z | 404a6e268d3d83e8bad04768971ba1bc207a155d | 0 | e3408f0bf93ae324b368d33488a9c3335fb1e87d | 212a5d7909e8dd54446b08574a0683e2477f2b40 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7082 | ||||
1088356033 | PR_kwDOAMm_X85A3v7B | 7167 | closed | 0 | Fix some scatter plot issues | Illviljan 14371165 | Fix some issues with scatter plots: * Always use markersize widths for scatter. * Fix issue with `.values_unique` not returning the same values as `.values` * Added more type hints to _Normalize, some rework had to be done to make mypy pass. xref: #6778 | 2022-10-16T09:38:05Z | 2022-10-17T13:39:31Z | 2022-10-17T13:39:31Z | 2022-10-17T13:39:31Z | 0aa0ae4923ea33ab55bb6df8f63c108f94a6817e | 0 | 14a5fff4c98589d762780b34b2a18c680df594d1 | da9c1d16562f233bfdafb0078cd1404ea18e03b8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7167 | ||||
1088428322 | PR_kwDOAMm_X85A4Bki | 7169 | closed | 0 | Rework docs about scatter plots | Illviljan 14371165 | Show off some more possibilities with the scatter plot. | 2022-10-16T15:37:25Z | 2022-10-17T13:40:01Z | 2022-10-17T13:40:01Z | 2022-10-17T13:40:01Z | a7f7190fede13e34e44640ed648d650c3679ab12 | 0 | a63a0f1e17fb3bae5f50d76b4cfbc33b5aa53fa3 | da9c1d16562f233bfdafb0078cd1404ea18e03b8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7169 | ||||
1088493762 | PR_kwDOAMm_X85A4RjC | 7173 | open | 0 | Add LineCollection plot | Illviljan 14371165 | This adds a line plotter based on `LineCollections`, called `.lines` at the moment. I wanted to replace `darray.plot()` with using LineCollection instead. But unfortunately due to how many cases are supported (and tested in xarray) `darray.plot()` will continue using `plt.plot`. xref: #4820 #5622 | 2022-10-16T20:16:28Z | 2024-04-07T20:26:44Z | c99eeebe25db88f6ce416496cc8f1573b3a1cae5 | 1 | a83b3be37fceb20525f7a01def32ed097bd412ef | 3c98570d3c622bd0982f7f8915366fbbbc70ca83 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7173 | ||||||
1088500927 | PR_kwDOAMm_X85A4TS_ | 7174 | open | 0 | Move .line to plot1d | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [ ] Closes #xxxx - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2022-10-16T20:51:23Z | 2023-06-19T20:37:30Z | 3e888c6a678bdbb26cf19e00fca103049d65688e | 1 | 4a811db36c92db83652e62a51311d8c196cc302b | e739df7d27d88008f09a927fc0f61fccdc7a77aa | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7174 | ||||||
1095759546 | PR_kwDOAMm_X85BT_a6 | 7194 | closed | 0 | Align naming convention with plt.subplots | Illviljan 14371165 | I noticed that the normal notation for `fig, axs = plt.subplots(2, 1)` wasn't used in facetgrid so did a quick find replace to change that. This feels better for my pedantic brain at least but I'm not sure it's worth the effort? | 2022-10-21T20:31:34Z | 2024-03-13T21:44:17Z | 2022-10-23T11:58:12Z | 2022-10-23T11:58:12Z | 9951491e0b849834c369de522de2df8172a2e298 | 0 | c1868bd0344a5bf3713373d537881aaf91558105 | 6cb97f645475bddf2f3b1e1a5f24f0f9de690683 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7194 | ||||
1096363923 | PR_kwDOAMm_X85BWS-T | 7196 | closed | 0 | Remove rasterio tutorial test | Illviljan 14371165 | This test has been quite troublesome and since `.open_rasterio` has been deprecated since 0.20 I think it's fine removing the test. | 2022-10-22T22:30:40Z | 2022-10-23T11:57:36Z | 2022-10-23T11:57:36Z | 2022-10-23T11:57:36Z | c4677cea257871caadf261908138679131e2abb1 | 0 | 1310681812ab1b125ea6754bff45a7bba97e1d58 | 6cb97f645475bddf2f3b1e1a5f24f0f9de690683 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7196 | ||||
1096951476 | PR_kwDOAMm_X85BYia0 | 7203 | closed | 0 | Avoid loading any data for reprs | Illviljan 14371165 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #6722 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2022-10-24T05:12:40Z | 2022-10-28T16:23:19Z | 2022-10-28T16:23:19Z | 2022-10-28T16:23:19Z | fc9026b59d38146a21769cc2d3026a12d58af059 | 0 | 80bfd65b2b08b0db27bfa1fbe17ba0f2b686bdb3 | 9951491e0b849834c369de522de2df8172a2e298 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7203 | ||||
1096962179 | PR_kwDOAMm_X85BYlCD | 7204 | closed | 0 | absolufy-imports - No relative imports - PEP8 | Illviljan 14371165 | I saw dask has started using absolute imports in https://github.com/dask/dask/pull/8796. I find it much more readable and there's a nice pre-commit for it as well. Easiest way to deal with the merge conflicts is probably to just accept your changes and let pre-commit fix them afterwards. | 2022-10-24T05:27:24Z | 2022-12-10T11:42:43Z | 2022-12-07T21:24:44Z | 2022-12-07T21:24:44Z | 6e77f5e8942206b3e0ab08c3621ade1499d8235b | 0 | d20603dd640aaa71c2d5909b50fa5a316a1aa7d9 | ed60c6ccd3d6725cd91190b8796af4355f3085c2 | MEMBER | { "enabled_by": { "login": "Illviljan", "id": 14371165, "node_id": "MDQ6VXNlcjE0MzcxMTY1", "avatar_url": "https://avatars.githubusercontent.com/u/14371165?v=4", "gravatar_id": "", "url": "https://api.github.com/users/Illviljan", "html_url": "https://github.com/Illviljan", "followers_url": "https://api.github.com/users/Illviljan/followers", "following_url": "https://api.github.com/users/Illviljan/following{/other_user}", "gists_url": "https://api.github.com/users/Illviljan/gists{/gist_id}", "starred_url": "https://api.github.com/users/Illviljan/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/Illviljan/subscriptions", "organizations_url": "https://api.github.com/users/Illviljan/orgs", "repos_url": "https://api.github.com/users/Illviljan/repos", "events_url": "https://api.github.com/users/Illviljan/events{/privacy}", "received_events_url": "https://api.github.com/users/Illviljan/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "absolufy-imports - No relative imports - PEP8 (#7204)", "commit_message": "* absolufy imports\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\n* Revert \"[pre-commit.ci] auto fixes from pre-commit.com hooks\"\r\n\r\nThis reverts commit ee9db08e9ada58f280585deba21fea3fdd6a84ca.\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\n* Revert \"[pre-commit.ci] auto fixes from pre-commit.com hooks\"\r\n\r\nThis reverts commit 66af1c3731439762f0686610ff5872343d0bd15b.\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\n* Revert \"[pre-commit.ci] auto fixes from pre-commit.com hooks\"\r\n\r\nThis reverts commit 55dfefa910b3e83dc9050b28a4116f0eada9b4d3.\r\n\r\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\r\n\r\nfor more information, see https://pre-commit.ci\r\n\r\n* Update whats-new.rst\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7204 | |||
1099263864 | PR_kwDOAMm_X85BhW94 | 7218 | closed | 0 | Rename FacetGrid.axes to FacetGrid.axs in tests | Illviljan 14371165 | Follow up to #7194. This fixes all the warnings related to the change. | 2022-10-25T17:59:39Z | 2022-10-27T17:45:20Z | 2022-10-27T17:45:19Z | 2022-10-27T17:45:19Z | c92102bca4a20b4e9f2aacf722b7008698522c8a | 0 | 352f5fe3aea77dd734edfbc0925c5ab2b065e67a | 519abb7bde020f2b27cb7e3dfddec8c6eecb7722 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7218 | ||||
1099269025 | PR_kwDOAMm_X85BhYOh | 7219 | closed | 0 | Explicitly remove grids for pcolormesh | Illviljan 14371165 | Removes a warning in the plotting tests, related to https://matplotlib.org/stable/api/prev_api_changes/api_changes_3.5.0.html#auto-removal-of-grids-by-pcolor-and-pcolormesh. I just added `ax.grid(False)` but maybe we just want whatever is the default of matplotlib? ```python import xarray as xr airtemps = xr.tutorial.open_dataset("air_temperature") air = airtemps.air - 273.15 air.attrs = airtemps.air.attrs air.attrs["units"] = "deg C" air2d = air.isel(time=500) fig, axs = plt.subplots(2,1) air2d.plot(ax=axs[0]) # No grid. air2d.plot(ax=axs[1]) # With grid. axs[1].grid(True) ```  | 2022-10-25T18:04:14Z | 2022-10-28T16:22:53Z | 2022-10-28T16:22:53Z | 2022-10-28T16:22:53Z | 7ff2b04a9bfa5da86d23a0615dbb3ae6a84bde91 | 0 | 8a51e49deafe9f7862dc7fbefd8604272df368f8 | 519abb7bde020f2b27cb7e3dfddec8c6eecb7722 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7219 | ||||
1114864995 | PR_kwDOAMm_X85Cc31j | 7272 | closed | 0 | Handle division by zero in _Normalize._calc_widths | Illviljan 14371165 | Found an issue when constant values was used. Now if constant values are found it'll default to the minimum width value instead. | 2022-11-08T18:35:55Z | 2022-11-11T06:27:50Z | 2022-11-11T06:27:50Z | 2022-11-11T06:27:50Z | 4dddb0bea882457cca665b4ac0d3940fcdcb9470 | 0 | 17e5b5f193891d415ee4bdfa341c14f73fc18a67 | cc7e09a3507fa342b3790b5c109e700fa12f0b17 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7272 | ||||
1118192654 | PR_kwDOAMm_X85CpkQO | 7277 | closed | 0 | Require to explicitly defining optional dimensions such as hue and markersize | Illviljan 14371165 | - [x] Closes #7314 - [x] Closes #7268 * Matplotlib adds default colors with `plt.plot(x, y)` when `y` is a 2D array. * Matplotlib prioritizes `c` over default colors with `plt.plot(x, y, c="blue")` when `y` is a 2D array. * Seaborn prioritizes `hue` over `c`, but all plot axes has to be explicit. The plot1d function now follows closer to seaborns example and require explicitly defining optional dimensions such as hue/markersize. Positives and negatives: +++ Reliable performance, won't accidentally choose large and heavy arrays to plot. \- Loss of dimension information for default values, will essentially flatten the n-dimensional arrays. \- Other xarray plot functions guesses quite a bit as well, API is not consistent. Required dimensions like the x-axis will still be guessed since the mpl errors weren't very intuitive. While at it: * Make it possible to prioritize certain mpl kwargs when hue/markersize isn't defined. * Fix integer coords in `plot1`d and facetgrid, use `.coords` instead of `getitem`. | 2022-11-10T19:23:28Z | 2023-02-11T20:55:16Z | 2023-02-11T20:55:16Z | 2023-02-11T20:55:16Z | 9ff932a564ec1e19918120bab0ec78f1f87df07b | 0 | bcdd8188d52b79f3316b626796b6a31dc0926945 | 7683442774c8036e0b13851df62bda067b2a65d5 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7277 | ||||
1119445149 | PR_kwDOAMm_X85CuWCd | 7281 | closed | 0 | Use a default value for constant dimensions | Illviljan 14371165 | * default markersize values of widths are 18 to 72. * plt.scatter default markersize is 36. * plt.plot default linewidth is 6. With main we get 18 for constant arrays, but 36 if markersize was undefined. This seems a bit inconsistent to me. This PR adds a default value instead for constant arrays Follow up to #7272. | 2022-11-11T18:41:16Z | 2022-11-20T09:59:38Z | 2022-11-20T09:59:38Z | 2022-11-20T09:59:38Z | 9dd3c1baf57c1061eaab306034cde97338c63e98 | 0 | 4e6d7d7c2bcc27a375913aaf49409d2b076d6389 | 6f9e33e94944f247a5c5c5962a865ff98a654b30 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7281 | ||||
1120471208 | PR_kwDOAMm_X85CyQio | 7285 | closed | 0 | Switch to T_DataArray in .coords | Illviljan 14371165 | .coords were still using DataArray types switch to T_DataArray instead. - [x] Fixes mypy error seen in #7277 | 2022-11-13T19:22:34Z | 2022-11-23T17:48:25Z | 2022-11-22T17:02:09Z | 2022-11-22T17:02:09Z | ff6793d975ef4d1d8d5d32b8ad6f4f44e02dda9b | 0 | eceeacfbcb746966c7423b01d27150fdfdf20dbb | 88a75c907cf973facfbe65e9e0f5744bff3c0b63 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7285 | ||||
1125134123 | PR_kwDOAMm_X85DEC8r | 7296 | closed | 0 | Fix some typing errors in DuckArrayModule | Illviljan 14371165 | Fixes these errors that I've been seeing locally for a while: ```python !mypy C:\Users\J.W\Documents\GitHub\xarray\xarray\core\coordinates.py --ignore-missing-imports C:\Users\J.W\Documents\GitHub\xarray\xarray\core\pycompat.py:48: error: Incompatible types in assignment (expression has type "Tuple[]", variable has type "Tuple[Any]") C:\Users\J.W\Documents\GitHub\xarray\xarray\core\pycompat.py:50: error: Incompatible types in assignment (expression has type "Optional[Module]", variable has type "Optional[Literal['dask', 'pint', 'cupy', 'sparse']]") Found 2 errors in 1 file (checked 1 source file) ``` Not sure why the CI isn't catching these? | 2022-11-16T22:07:00Z | 2022-11-20T18:52:12Z | 2022-11-20T10:18:53Z | 2022-11-20T10:18:53Z | d6671dd414370d006254ba3156cb96256ce0e9c7 | 0 | 1dc694f61767c95eb9338b696b50088063086937 | 63a69fe4b2fa7a4de8a1b65826f6af4869818166 | MEMBER | { "enabled_by": { "login": "Illviljan", "id": 14371165, "node_id": "MDQ6VXNlcjE0MzcxMTY1", "avatar_url": "https://avatars.githubusercontent.com/u/14371165?v=4", "gravatar_id": "", "url": "https://api.github.com/users/Illviljan", "html_url": "https://github.com/Illviljan", "followers_url": "https://api.github.com/users/Illviljan/followers", "following_url": "https://api.github.com/users/Illviljan/following{/other_user}", "gists_url": "https://api.github.com/users/Illviljan/gists{/gist_id}", "starred_url": "https://api.github.com/users/Illviljan/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/Illviljan/subscriptions", "organizations_url": "https://api.github.com/users/Illviljan/orgs", "repos_url": "https://api.github.com/users/Illviljan/repos", "events_url": "https://api.github.com/users/Illviljan/events{/privacy}", "received_events_url": "https://api.github.com/users/Illviljan/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Fix some typing errors in DuckArrayModule (#7296)", "commit_message": "* Fix some typing errors in DuckArrayModule\r\n\r\n* Update pycompat.py\r\n\r\n* Update pycompat.py" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7296 | |||
1129235498 | PR_kwDOAMm_X85DTsQq | 7303 | closed | 0 | Add mypy version to xr.show_versions | Illviljan 14371165 | It's a little tricky getting the mypy version, so adding it to the show_versions function as well. | 2022-11-20T19:27:20Z | 2022-11-21T21:33:15Z | 2022-11-21T21:33:15Z | 2022-11-21T21:33:15Z | 5344ccbab409d15a7bc9f7125741cc33c735aa61 | 0 | a913be721b0b45b5db0de65ba979eb9c26fd6c56 | d6671dd414370d006254ba3156cb96256ce0e9c7 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7303 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [pull_requests] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [state] TEXT, [locked] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [body] TEXT, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [merged_at] TEXT, [merge_commit_sha] TEXT, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [draft] INTEGER, [head] TEXT, [base] TEXT, [author_association] TEXT, [auto_merge] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [url] TEXT, [merged_by] INTEGER REFERENCES [users]([id]) ); CREATE INDEX [idx_pull_requests_merged_by] ON [pull_requests] ([merged_by]); CREATE INDEX [idx_pull_requests_repo] ON [pull_requests] ([repo]); CREATE INDEX [idx_pull_requests_milestone] ON [pull_requests] ([milestone]); CREATE INDEX [idx_pull_requests_assignee] ON [pull_requests] ([assignee]); CREATE INDEX [idx_pull_requests_user] ON [pull_requests] ([user]);