pull_requests
117 rows where user = 35968931
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
222557759 | MDExOlB1bGxSZXF1ZXN0MjIyNTU3NzU5 | 2482 | closed | 0 | Global option to always keep/discard attrs on operations | TomNicholas 35968931 | - [x] Resolves wishes of some users and relevant for discussion in #138, #442, #688, #828, #988, #1009, #1271, #2288, #2473 - [x] Tests added, both of setting the option and of attributes propagating in the expected way - [x] Tests passed - [x] Documented Adds a global option to either always keep or always discard attrs in method and function calls. The behaviour is backwards-compatible, as the logic is: - if `keep_attrs` supplied as keyword argument then use that - else if global option (`xarray.set_options(keep_attrs=True)`) is set then use that - else use default value of `keep_attrs` argument for that particular function/method (kept the same as they were for backwards-compatibility). Main use cases include users who want to store the units of their data in the attrs, users who want to always keep information about the source or history of their data, and users who want to store objects in their attributes which are needed to supplement the xarray objects (e.g. an `xgcm.grid`). It should eventually be superceded by hooks for custom attribute handling (#988), but will be useful until then. I have left the top-level functions like `concat` and `merge` alone. Currently concat keeps the attributes of the first object passed to it, and merge returns a dataset with no attributes. It's not clear how this should be treated though, so I left it to users to extend those functions if they need to. | 2018-10-12T19:01:12Z | 2020-04-05T03:53:53Z | 2018-10-30T01:01:08Z | 2018-10-30T01:01:08Z | 6d55f99905d664ef73cb708cfe8c52c2c651e8dc | 0 | cbf227d4bef2cb270e4ec9cfcee7024625041cec | b622c5e7da928524ef949d9e389f6c7f38644494 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2482 | ||||
229885276 | MDExOlB1bGxSZXF1ZXN0MjI5ODg1Mjc2 | 2553 | closed | 0 | Feature: N-dimensional auto_combine | TomNicholas 35968931 | ### What I did Generalised the `auto_combine()` function to be able to concatenate and merge datasets along any number of dimensions, instead of just one. Provides one solution to #2159, and relevant for discussion in #2039. Currently it cannot deduce the order in which datasets should be concatenated along any one dimension from the coordinates, so it just concatenates them in order they are supplied. This means for an N-D concatenation the datasets have to be supplied as a list of lists, which is nested as many times as there are dimensions to be concatenated along. ### How it works In `_infer_concat_order_from_nested_list()` the nested list of datasets is recursively traversed in order to create a dictionary of datasets, where the keys are the corresponding "tile IDs". These tile IDs are tuples serving as multidimensional indexes for the position of the dataset within the hypercube of all datasets which are to be combined. For example four datasets which are to be combined along two dimensions would be supplied as ```python datasets = [[ds0, ds1], [ds2, ds3]] ``` and given tile_IDs to be stored as ```python combined_ids = {(0, 0): ds0, (0, 1): ds1, (1, 0): ds2, (1, 1): ds3} ``` Using this unambiguous intermediate structure means that another method could be used to organise the datasets for concatenation (i.e. reading the values of their coordinates), and a new keyword argument `infer_order_from_coords` used to choose the method. The `_combine_nd()` function concatenates along one dimension at a time, reducing the length of the tile_ID tuple by one each time `_combine_along_first_dim()` is called. After each concatenation the different variables are merged, so the new `auto_combine()` is essentially like calling the old one once for each dimension in `concat_dims`. ### Still to do I would like people's opinions on the method I've chosen to do this, and any feedback on the code quality would be appreciated. Assuming we're happy with the method I used here, then the r… | 2018-11-10T11:40:48Z | 2018-12-13T17:16:16Z | 2018-12-13T17:15:57Z | 2018-12-13T17:15:56Z | 9e8707d2041cfa038c31fc2284c1fe40bc3368e9 | 0 | ebbe47f450ed4407655bd9a4ed45274b140452dd | 0d6056e8816e3d367a64f36c7f1a5c4e1ce4ed4e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2553 | ||||
239263959 | MDExOlB1bGxSZXF1ZXN0MjM5MjYzOTU5 | 2616 | closed | 0 | API for N-dimensional combine | TomNicholas 35968931 | Continues the discussion from #2553 about how the API for loading and combining data from multiple datasets should work. (Ultimately part of the solution to #2159) @shoyer this is for you to see how I envisaged the API would look, based on our discussion in #2553. For now you can ignore all the changes except the ones to the docstrings of `auto_combine` [here](https://github.com/pydata/xarray/compare/master...TomNicholas:feature/nd_combine_new_api?expand=1#diff-876f2fcf4679457325e8018f6d98660cR650), `manual_combine` [here](https://github.com/pydata/xarray/compare/master...TomNicholas:feature/nd_combine_new_api?expand=1#diff-876f2fcf4679457325e8018f6d98660cR550) and `open_mfdataset` [here](https://github.com/pydata/xarray/compare/master...TomNicholas:feature/nd_combine_new_api?expand=1#diff-e58ddc6340e4b5dd0a6e6b443c9a6da1R483). Feedback from anyone else is also encouraged, as really the point of this is to make the API as clear as possible to someone who hasn't delved into the code behind `auto_combine` and `open_mfdataset`. It makes sense to first work out the API, then change the internal implementation to match, using the internal functions developed in #2553. Therefore the tasks include: - [x] Decide on API for 'auto_combine' and 'open_mfdataset' - [x] Appropriate documentation - [x] Write internal implementation of `manual_combine` - [x] Write internal implementation of `auto-combine` - [x] Update `open_mfdataset` to match - [x] Write and reorganise tests - [x] Automatically ordering of string and datetime coords - [x] What's new explaining changes - [x] Make sure `auto_combine` and `manual_combine` appear on the [API page](http://xarray.pydata.org/en/stable/api.html) of the docs - [x] PEP8 compliance - [x] Python 3.5 compatibility - [x] AirSpeedVelocity tests for `auto_combine` - [x] Finish all TODOs - [x] Backwards-compatible API to start deprecation cycle - [x] Add examples from docstrings to main documentation pages | 2018-12-17T19:51:32Z | 2019-06-25T16:18:29Z | 2019-06-25T15:14:34Z | 2019-06-25T15:14:34Z | 6b33ad8b3e56834c3a345f21afc17680a164c5e9 | 0 | e00687509260fb686b02eb333176e1536fad995f | 76adf1307cb15d63521b40408a569258bacd3623 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2616 | ||||
240602464 | MDExOlB1bGxSZXF1ZXN0MjQwNjAyNDY0 | 2626 | closed | 0 | Source encoding always set when opening datasets | TomNicholas 35968931 | Closes #2550 by ensuring that the filename is always stored in the encoding dictionary of a dataset, under `'source'`. Previously this feature would be backend-dependent. This was motivated by wanting the `preprocess` function passed to `open_mfdataset` to have access to the filename of the dataset it is operating on. A specific use case is when you are opening a spatial grid of datasets, and want to apply a different operation to datasets at the edge of the grid (e.g. to deal with guard cells). It is therefore also relevant for discussion in [#2159](https://github.com/pydata/xarray/issues/2159#issuecomment-391512018). - [x] Closes #2550 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2018-12-22T00:02:26Z | 2018-12-31T16:53:18Z | 2018-12-30T01:00:37Z | 2018-12-30T01:00:36Z | 250b19c8fff56c295f6047956400863db22cb48b | 0 | f76593ed6a1738e356fb7f33d947c87df3318ca0 | 1545b50a3c8841b3f62c7bd59353d55aa2389697 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2626 | ||||
244828567 | MDExOlB1bGxSZXF1ZXN0MjQ0ODI4NTY3 | 2678 | closed | 0 | Hotfix for #2662 | TomNicholas 35968931 | - [x] Closes #2662 Explained in #2662. Also renamed some variables slightly for clarity. Not sure how to add a test without refactoring the groupby into a separate function, as in it's current form the problem only manifests as a (huge) slowdown. | 2019-01-15T15:11:48Z | 2019-02-02T23:50:40Z | 2019-01-17T13:05:43Z | 2019-01-17T13:05:43Z | dc87dea52351835af472d131f70a7f7603b3100e | 0 | 5ee50c26ae9af61b55b62ebd8140b4a7b6d7c500 | f13536c965d02bb2845da31e909899a90754b375 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2678 | ||||
245808787 | MDExOlB1bGxSZXF1ZXN0MjQ1ODA4Nzg3 | 2690 | closed | 0 | Add create_test_data to public testing API | TomNicholas 35968931 | - [x] Closes #2686 and #1839 - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2019-01-18T11:08:01Z | 2021-06-24T08:51:36Z | 2021-06-23T16:14:28Z | 6be713331a589e12863e8df2177f2fb431adad35 | 0 | 6bd2811ae485f2a9ea25e55b966f3fd5b3292806 | 1d0a2bc4970d9e7337fe307f4519bd936f7d7d89 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2690 | |||||
248644846 | MDExOlB1bGxSZXF1ZXN0MjQ4NjQ0ODQ2 | 2726 | closed | 0 | Bugfix for line plot axes | TomNicholas 35968931 | - [x] Closes #2725 - [x] Tests added - [x] Fully documented, including `whats-new.rst` | 2019-01-29T20:21:18Z | 2019-02-02T23:50:44Z | 2019-01-30T02:02:22Z | 2019-01-30T02:02:22Z | e8bf4bf9a744148f1f6586cabe7f5c5ef6e9bf26 | 0 | 6fd1218d6f20d30ebd4aa13e58b03299bb850795 | 620b946b6f9ad922d919c68b0954d7ac13e65282 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2726 | ||||
249014177 | MDExOlB1bGxSZXF1ZXN0MjQ5MDE0MTc3 | 2729 | closed | 0 | [WIP] Feature: Animated 1D plots | TomNicholas 35968931 | This is an attempt at a proof-of-principle for making animated plots in the way I suggested in #2355. (Also relevant for #2030.) This example code: ```python import matplotlib.pyplot as plt import xarray as xr # Load data as done in plotting tutorial airtemps = xr.tutorial.open_dataset('air_temperature') air = airtemps.air - 273.15 air.attrs = airtemps.air.attrs air.attrs['units'] = 'deg C' # Downsample to make reasonably-sized gif data = air.isel(lat=10, time=slice(None,None,40)) # Create animated plot anim = data.plot(animate_over='time') anim.save('line1.gif', writer='imagemagick') plt.show() ``` now produces this gif:  ~~The units on the timeline are formatted incorrectly because [this PR](https://github.com/t-makaro/animatplot/pull/21) isn't merged yet~~ I think it looks pretty good! It even animates the title properly. The actual animation creation only takes one line to do. This currently only works for a plot with a single line, which is animated over a coordinate dimension. ~~It also required some minor modifications/bugfixes to animatplot, so it probably isn't reproducible right out of the box yet.~~ If you want to try this out then use the [develop branch](https://github.com/TomNicholas/animatplot/tree/develop) of my forked version of animatplot. The reason I've put this up is because I wanted to 1. show people the level of complexity required, and 2. get people's opinion on the implementation. I feel like although it required only ~100 lines extra to do this then the logic is very fragmented and scattered through the `plot.line` and `plot._infer_line_data` functions. In 2D this would get even more complicated, but I can't see a good way to abstract the case of animation out? (@t-makaro I expect you will be interested in this) EDIT: To-Do list: - [x] Animate single line - [x] Animated line and static line on same axes - [x] Animate multip… | 2019-01-30T20:15:52Z | 2021-06-24T08:46:31Z | 2021-06-23T16:14:28Z | c07f76527018613ef00a7beb3a8ce906f33feb18 | 0 | 2e3b5059031c6f0577bc30d4ee9e2e877f69f0e3 | 3fb22cbf86e49be4a444fa062350bf7570abd6da | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2729 | |||||
252735466 | MDExOlB1bGxSZXF1ZXN0MjUyNzM1NDY2 | 2769 | closed | 0 | Bugfix/reduce no axis | TomNicholas 35968931 | - [x] Closes #2768 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2019-02-13T15:22:52Z | 2019-02-19T06:13:08Z | 2019-02-19T06:13:00Z | 2019-02-19T06:12:59Z | 57cd76d7521526a39a6e94eeacf1e40ef7b974b6 | 0 | a31e1b3d4f8bf4fae029be5976b6fe4583ad3f99 | cd8e370e63f82deeaf4fc190f5c1d90463067368 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2769 | ||||
256804650 | MDExOlB1bGxSZXF1ZXN0MjU2ODA0NjUw | 2792 | closed | 0 | Improve name concat | TomNicholas 35968931 | - [x] Closes #2775 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2019-02-27T19:13:25Z | 2019-03-04T09:48:08Z | 2019-03-04T05:39:21Z | 2019-03-04T05:39:21Z | c33dab237a0aca316b7f6d4ba10857829a895a25 | 0 | b2028683fd7aa6fc286ed674a79f96d9b6fce996 | 612d390f925e5490314c363e5e368b2a8bd5daf0 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/2792 | ||||
291755608 | MDExOlB1bGxSZXF1ZXN0MjkxNzU1NjA4 | 3043 | closed | 0 | Rename combine functions | TomNicholas 35968931 | Finishes #2616 by renaming `combine_manual` -> `combine_nested`, `combine_auto` -> `combine_by_coords`, and renaming the arguments to `open_mfdataset`: `combine='manual'` -> `combine='nested'` `combine='auto'` -> `combine='by_coords'` [x] code changes [x] docs changes [x] what's new updated | 2019-06-25T22:31:40Z | 2019-06-26T15:01:01Z | 2019-06-26T15:00:38Z | 2019-06-26T15:00:38Z | 17d18ce8230fea74e72ad59b84386cf662448d45 | 0 | 6c2b9d003244eba26ec96add965ec348cd734e9f | d3f6db9d1eee54b51d2b0cd9a0a01a411d2148b7 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3043 | ||||
293644039 | MDExOlB1bGxSZXF1ZXN0MjkzNjQ0MDM5 | 3074 | closed | 0 | Removed rogue print statement in N-D combine | TomNicholas 35968931 | - [x] Hotfix which closes #3073 | 2019-07-02T08:41:42Z | 2019-07-02T14:17:05Z | 2019-07-02T14:16:43Z | 2019-07-02T14:16:42Z | 8c61997d0daa5564a007458ab4febebcecdc30af | 0 | 3dd0978dd34b96f815722126e1e3c6d8ea2ed693 | e2c2264833ce7e861bbb930be44356e1510e13c3 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3074 | ||||
297067547 | MDExOlB1bGxSZXF1ZXN0Mjk3MDY3NTQ3 | 3101 | closed | 0 | Improve open_mfdataset deprecation warnings | TomNicholas 35968931 | - [x] Closes #3091 - [x] Tests added | 2019-07-12T13:18:00Z | 2019-07-12T15:43:38Z | 2019-07-12T15:43:32Z | 2019-07-12T15:43:32Z | ed421e80e69788b92cdda050b0ac389ecce590fb | 0 | 795926a50c690cae20e928f2514b2269f09a9b91 | 8f0d9e5c9909c93a90306ed7cb5a80c1c2e1c97d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3101 | ||||
299560554 | MDExOlB1bGxSZXF1ZXN0Mjk5NTYwNTU0 | 3151 | closed | 0 | Hotfix for case of combining identical non-monotonic coords | TomNicholas 35968931 | - [x] Closes #3150 - [x] Tests added | 2019-07-20T12:31:14Z | 2019-07-31T13:56:48Z | 2019-07-31T13:56:48Z | 2019-07-31T13:56:48Z | e5205347a5f6dcc60fee1baff00709b9e22baac5 | 0 | b1682404f6d5f4fe02a02aee660b3dbd247e8b29 | 118f4d996e7711c9aced916e6049af9f28d5ec66 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3151 | ||||
321318168 | MDExOlB1bGxSZXF1ZXN0MzIxMzE4MTY4 | 3345 | closed | 0 | Bugfix/plot accept coord dim | TomNicholas 35968931 | - [x] Closes #3334 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2019-09-25T15:48:55Z | 2019-09-26T08:52:00Z | 2019-09-26T08:51:59Z | 2019-09-26T08:51:59Z | ea101f571f3b2f13ab02c7b57453571af559f940 | 0 | 802014ab1897ff1d38328a748100c096c3af8a17 | 85c9a40c2dac6b83a687f97639f8abfe0ab17f46 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3345 | ||||
361036494 | MDExOlB1bGxSZXF1ZXN0MzYxMDM2NDk0 | 3677 | closed | 0 | ds.merge(da) bugfix | TomNicholas 35968931 | - [x] Closes #3676 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2020-01-09T16:07:14Z | 2020-01-12T13:04:02Z | 2020-01-12T13:04:02Z | 2020-01-12T13:04:02Z | 1689db493f10262555196f658c52e370aacb4a33 | 0 | 2901cacca452776d453c60b7e7af0393cdac95a9 | ef6e6a7b86f8479b9a1fecf15ad5b88a2326b31e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3677 | ||||
362158513 | MDExOlB1bGxSZXF1ZXN0MzYyMTU4NTEz | 3690 | closed | 0 | Fix mypy type checking tests failure in ds.merge | TomNicholas 35968931 | Hopefully fixes the type checking error introduced in #3677, as [pointed out](https://github.com/pydata/xarray/pull/3618#issuecomment-573678101) by @kmuehlbauer. | 2020-01-13T14:51:59Z | 2020-01-13T16:33:05Z | 2020-01-13T16:33:05Z | 2020-01-13T16:33:04Z | 8a650a11d1f859a88cc91b8815c16597203892aa | 0 | 42397c05c51bbb3a7a211a592e2c833d91721c62 | 1689db493f10262555196f658c52e370aacb4a33 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3690 | ||||
397320781 | MDExOlB1bGxSZXF1ZXN0Mzk3MzIwNzgx | 3925 | closed | 0 | sel along 1D non-index coordinates | TomNicholas 35968931 | As a user, I find not being able to select along one-dimensional non-dimensional coordinates actually comes up fairly often. I think it's quite common to use multiple coordinates to be able to choose between plotting in different coordinate systems (or units) easily. I've tried to close #2028 in the simplest (but also least efficient) way which was suggested by @shoyer ([suggestion 1 here](https://github.com/pydata/xarray/issues/934#issuecomment-236960237)). This should be temporary anyway: it will get superseded by the [explicit indexes refactor](https://github.com/pydata/xarray/issues/1603). If there is another approach which would achieve the same functionality as this PR but actually bring us closer to #1603 then I would be happy to take a stab at that instead. I don't really know what to do about the [failing test](https://github.com/pydata/xarray/blob/b3bafeefbd6e6d70bce505ae1f0d9d5a2b015089/xarray/tests/test_dataset.py#L3632) in groupby arithmetic - I think it's [caused here](https://github.com/pydata/xarray/blob/b3bafeefbd6e6d70bce505ae1f0d9d5a2b015089/xarray/core/groupby.py#L497) but I'm not sure what to replace the triple error type catching (?!) with. - [x] Closes #2028 - [x] Tests added - [ ] Passes `isort -rc . && black . && mypy . && flake8` - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2020-04-02T02:23:56Z | 2022-09-07T14:31:58Z | 2022-09-07T14:31:58Z | a14cfae1f3083d3eb01a105f573dbbcf93966c6e | 0 | 558721e71da2b627028ebc533887c0e6e7a30db5 | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3925 | |||||
397335567 | MDExOlB1bGxSZXF1ZXN0Mzk3MzM1NTY3 | 3926 | closed | 0 | Remove old auto combine | TomNicholas 35968931 | - [x] Finishes deprecation cycle started in #2616 (was supposed to have been done in 0.15) - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API I've set `combine='by_coords'` as the default argument to `open_mfdataset`. Technically we could go for either, as the deprecation warning just told users to make it explicit from now on, but going for `by_coords` rather than `nested` means that: - The `concat_dim` argument is not needed by default, - The default behaviour of the function is the "magic" one - users have to opt-in to the more explicit behaviour. | 2020-04-02T03:25:54Z | 2020-06-24T18:22:55Z | 2020-06-24T18:22:55Z | 2020-06-24T18:22:55Z | 3088de25987f6863ba6c7a73b23a7ca7a8c93a69 | 0 | 4a31d8bdd7ed8b489415768f3f9cc0b97ed624f1 | 2a8cd3b0545851cff2773d493e30d5c84aa1c4db | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3926 | ||||
398639444 | MDExOlB1bGxSZXF1ZXN0Mzk4NjM5NDQ0 | 3934 | closed | 0 | Bugfix plot 2d coords transpose | TomNicholas 35968931 | Simple fix for #3933 - just required transposing y data before passing to matplotlib. - [x] Closes #3933 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2020-04-04T16:55:24Z | 2020-04-04T17:57:20Z | 2020-04-04T17:57:20Z | 2020-04-04T17:57:20Z | 8d280cd7b1d80567cfdc6ae55165c522a5d4c2ce | 0 | feefedf79e9f2fce584f1e0ba48b5c4c0af66763 | 0181aa5741ce376a9dad45750754f3cf1ed41dde | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3934 | ||||
400048113 | MDExOlB1bGxSZXF1ZXN0NDAwMDQ4MTEz | 3943 | closed | 0 | Updated list of core developers | TomNicholas 35968931 | Names listed in order of date added. - [x] Closes #3892 - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2020-04-07T05:31:55Z | 2020-04-07T19:28:37Z | 2020-04-07T19:28:25Z | 2020-04-07T19:28:25Z | f07adb293e67ae01d305fd1c8fb42f5bad2238e7 | 0 | 5d29a9bcbd69641e43aaa220a325dca789342859 | 604835603c83618dbe101331813cc6ae428d8be1 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3943 | ||||
403204129 | MDExOlB1bGxSZXF1ZXN0NDAzMjA0MTI5 | 3970 | closed | 0 | keep attrs in interpolate_na | TomNicholas 35968931 | `dataarray.interpolate_na` was dropping attrs because even though the internal `apply_ufunc` call was being passed `keep_attrs=True`, the order of arguments `index, da` to `apply_ufunc` meant that it was trying to keep only the non-existent attrs from the first argument. I just swapped them round, and added a globally-aware `keep_attrs` kwarg. - [x] Closes #3968 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2020-04-14T14:02:33Z | 2020-04-17T20:16:27Z | 2020-04-17T20:16:27Z | 2020-04-17T20:16:26Z | 2c92f69ab208c02344b8d5e5edef3e71e3495d3b | 0 | 713d127945b9507cc8c592568b915b3666af3381 | 2c77eb531b6689f9f1d2adbde0d8bf852f1f7362 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3970 | ||||
405578506 | MDExOlB1bGxSZXF1ZXN0NDA1NTc4NTA2 | 3982 | closed | 0 | Combine by point coords | TomNicholas 35968931 | This PR was based off of #3926, though it probably doesn't need to be and could be rebased if we wanted to merge this first. - [x] Closes #3774 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2020-04-19T00:00:30Z | 2021-06-24T08:48:51Z | 2021-06-23T15:58:30Z | 0 | f27b8c56d21701e2df730ad3bc246ef6163e5982 | 7bf9df9d75c40bcbf2dd28c47204529a76561a3f | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3982 | ||||||
406892377 | MDExOlB1bGxSZXF1ZXN0NDA2ODkyMzc3 | 3993 | closed | 0 | dim -> coord in DataArray.integrate | TomNicholas 35968931 | - [x] Closes #3992 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API | 2020-04-21T20:30:35Z | 2021-02-05T21:48:39Z | 2021-01-29T22:59:30Z | 2021-01-29T22:59:30Z | f4b95cd28f5f34ed5ef6cbd9280904fb5449c2a7 | 0 | 92ac2dcefd647e2c5d1338495df287b11bd4f0ad | 8cc34cb412ba89ebca12fc84f76a9e452628f1bc | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/3993 | ||||
625489541 | MDExOlB1bGxSZXF1ZXN0NjI1NDg5NTQx | 5231 | closed | 0 | open_mfdataset: Raise if combine='by_coords' and concat_dim=None | TomNicholas 35968931 | Fixes bug which allowed incorrect arguments to be passed to `open_mfdataset` without complaint. The combination `open_mfdataset(files, combine='by_coords', concat_dim='t')` should never have been permitted, and in fact it [wasn't permitted](https://github.com/pydata/xarray/blob/795926a50c690cae20e928f2514b2269f09a9b91/xarray/core/combine.py#L597) until the last part of the deprecation process from the old `auto_combine`. It makes no sense to pass this combination because the `combine_by_coords` function does not have a `concat_dim` argument at all! The effect was pretty benign - the `concat_dim` arg wasn't really used for anything in that case, and the result of passing dodgy datasets would just be a less informative error. However there were multiple tests which assumed this behaviour was okay - I had to remove that particular parametrization for a bunch of your join tests @dcherian because they now fail with a different (clearer) error. I also noticed a related issue which I fixed - internally `open_mfdataset` was performing a rearrangement of the input datasets that it needs for the case `combine='nested'`, even in the case `combine='by_coords'`. I hadn't previously realised that we can just skip this rearrangement without issue, so `open_mfdataset(combine='by_coords')` should be a little bit faster now. - [x] Closes #5230 - [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-04-28T19:16:19Z | 2021-04-30T12:41:17Z | 2021-04-30T12:41:17Z | 2021-04-30T12:41:17Z | 01b6cc76c6b7c77f2f93fc1766eb76f851529b5d | 0 | 07d8ec01ef01b196e3f1d198da99c3d198e60148 | 0021cdab91f7466f4be0fb32dae92bf3f8290e19 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5231 | ||||
626286842 | MDExOlB1bGxSZXF1ZXN0NjI2Mjg2ODQy | 5237 | closed | 0 | Add deprecation warnings for lock kwarg | TomNicholas 35968931 | Does this need a test? - [x] Closes #5073 - [ ] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-04-29T16:45:45Z | 2021-05-04T19:17:31Z | 2021-05-04T19:17:31Z | 1683720c024883137b68fa29e450810ac333746f | 0 | db3ee3a824b714825f4cede49c45511ca5fb9905 | 0021cdab91f7466f4be0fb32dae92bf3f8290e19 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5237 | |||||
629254854 | MDExOlB1bGxSZXF1ZXN0NjI5MjU0ODU0 | 5255 | closed | 0 | Warn instead of error on combine='nested' with concat_dim supplied | TomNicholas 35968931 | Changes error introduced in #5231 into a warning, [as discussed](https://github.com/pydata/xarray/discussions/5253). | 2021-05-03T17:38:10Z | 2021-05-04T02:45:52Z | 2021-05-04T02:45:52Z | 2021-05-04T02:45:51Z | f2a3318758cd448b773bff1ba7b44685212ecc9c | 0 | c1fbcda84c65688b4f3e2a5e807b52fb82429776 | 9f118624e7924c80fc305f351fa9621d2b58514c | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5255 | ||||
631825792 | MDExOlB1bGxSZXF1ZXN0NjMxODI1Nzky | 5274 | closed | 0 | Update release guide | TomNicholas 35968931 | Updated the release guide to account for what is now automated via github actions, and any other bits I felt could be clearer. Now only 16 easy steps! - Motivated by #5232 and #5244 - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-05-06T19:50:53Z | 2021-05-13T17:44:47Z | 2021-05-13T17:44:47Z | 2021-05-13T17:44:47Z | 1305d9b624723b86050ca5b2d854e5326bbaa8e6 | 0 | 871db62f6f34983fdfaf4d79e1185b4ed1df361b | 751f76ac95761e18d2bf2b5c7ac3c84bd2ee69ea | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5274 | ||||
640819533 | MDExOlB1bGxSZXF1ZXN0NjQwODE5NTMz | 5289 | closed | 0 | Explained what a deprecation cycle is | TomNicholas 35968931 | Inspired by a question asked in #4696, but does not close that issue - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-05-11T15:15:08Z | 2021-05-13T16:38:19Z | 2021-05-13T16:38:19Z | 2021-05-13T16:38:18Z | 1f52ae0e841d75e3f331f16c0f31cd06a1675e23 | 0 | 67f0951fa392865c0f14ac4cfd3ea340259a60ec | 6e14df62f0b01d8ca5b04bd0ed2b5ee45444265d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5289 | ||||
654156509 | MDExOlB1bGxSZXF1ZXN0NjU0MTU2NTA5 | 5383 | closed | 0 | Corrected reference to blockwise to refer to apply_gufunc instead | TomNicholas 35968931 | I noticed that the apply_ufunc tutorial notebook says that `xarray.apply_ufunc` uses `dask.array.blockwise`, but that's no longer true as of PR #4060 . - [x] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-05-26T19:23:53Z | 2021-05-26T21:34:06Z | 2021-05-26T21:34:06Z | 2021-05-26T21:34:06Z | a6a1e48b57499f91db7e7c15593aadc7930020e8 | 0 | 8c34caf9df9e90e374f35d6a652551120cf502bb | f9a535c130615fe81379d785dffcc6c814fc1126 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5383 | ||||
657015858 | MDExOlB1bGxSZXF1ZXN0NjU3MDE1ODU4 | 5398 | closed | 0 | Multi dimensional histogram (see #5400 instead) | TomNicholas 35968931 | Initial work on integrating the multi-dimensional dask-powered histogram functionality from xhistogram into xarray. Just working on the skeleton to fit around the histogram algorithm for now, to be filled in later. - [ ] Closes #4610 - [x] API skeleton - [x] Redirect `plot.hist` - [ ] Tests added - [ ] Type hinting - [ ] 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` EDIT: Didn't notice that using `git commit --amend` has polluted the git history for this branch... | 2021-05-28T19:59:02Z | 2021-05-30T15:34:33Z | 2021-05-28T20:00:08Z | b844f739b77fec226357c17f92dc4a6c8deba25b | 0 | 6c69ae906310029fa8b8772a6c70cb33a2742dd5 | 2b38adc1bdd1dd97934fb061d174149c73066f19 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5398 | |||||
657061829 | MDExOlB1bGxSZXF1ZXN0NjU3MDYxODI5 | 5400 | open | 0 | Multidimensional histogram | TomNicholas 35968931 | Initial work on integrating the multi-dimensional dask-powered histogram functionality from xhistogram into xarray. Just working on the skeleton to fit around the histogram algorithm for now, to be filled in later. - [x] Closes #4610 - [x] API skeleton - [x] Input checking - [ ] Internal `blockwise` algorithm from https://github.com/xgcm/xhistogram/pull/49 - [x] Redirect `plot.hist` - [x] `da.weighted().hist()` - [ ] Tests added for results - [x] Hypothesis tests for different chunking patterns - [ ] Examples in documentation - [ ] Examples in docstrings - [x] Type hints (first time trying these so might be wrong) - [ ] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` - [x] Range argument - [ ] Handle multidimensional bins (for a future PR? - See https://github.com/xgcm/xhistogram/pull/59) - [ ] Handle `np.datetime64` dtypes by refactoring to use `np.searchsorted` (for a future PR? See [discussion](https://github.com/xgcm/xhistogram/pull/44#issuecomment-861139042)) - [ ] Fast path for uniform bin widths (for a future PR? See [suggestion](https://github.com/xgcm/xhistogram/issues/63#issuecomment-861662430)) Question: `da.hist()` or `da.histogram()`? | 2021-05-28T20:38:53Z | 2022-11-21T22:41:01Z | 3c1c200e8284915d290b20bba8fdc5b618c404c9 | 0 | d276838c8120856b678b1afbbe2169230576ad63 | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5400 | ||||||
673638442 | MDExOlB1bGxSZXF1ZXN0NjczNjM4NDQy | 5493 | open | 0 | Fix bug when querying unnamed dataarray | TomNicholas 35968931 | There might be a slightly neater way to do this, but this works. - [x] Closes #5492 - [x] Tests added - [ ] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-06-18T17:51:01Z | 2022-11-21T22:32:37Z | a00222ec32a9589e20c32ddd5216dfef4825d052 | 0 | 3603ccd8555d5dc09b7ab7abfdeb4c566f4edf75 | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5493 | ||||||
676486834 | MDExOlB1bGxSZXF1ZXN0Njc2NDg2ODM0 | 5519 | closed | 0 | Type hints for combine functions | TomNicholas 35968931 | Added type hints to `combine_nested` and `combine_by_coords`. Builds on #4696 because that PR generalised the argument types to include DataArrays, but I couldn't see that branch in the list to base this PR off of. The "nested list-of-lists" argument to `combine_nested` opens up a can of worms: the only way I can see to specify the type of a nested list of arbitrary depth is to [define the type recursively](https://stackoverflow.com/a/53845083/3154101), but [mypy does not currently support recursive type definitions](https://github.com/python/mypy/issues/731), though some other type checkers can, e.g. [Microsoft's Pylance does](https://devblogs.microsoft.com/python/pylance-introduces-five-new-features-that-enable-type-magic-for-python-developers/). We're going to have the same problem when specifying types for `open_mfdataset`. For now this problem is just ignored by the type checker, meaning that we don't actually check the type of the nested-list-of-lists. - [x] Passes `pre-commit run --all-files` - [ ] ~~User visible changes (including notable bug fixes) are documented in `whats-new.rst`~~ | 2021-06-23T17:33:36Z | 2021-09-30T20:16:45Z | 2021-09-30T19:52:47Z | 2021-09-30T19:52:47Z | 043d68bd1c285245cdfe2282cec42c5843e4ed44 | 0 | 2cd5a5d598737e9e1c7cd001fa9468c823a1d0dd | 434090909dfad3e77df2488ab957ceb650045285 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5519 | ||||
682255419 | MDExOlB1bGxSZXF1ZXN0NjgyMjU1NDE5 | 5561 | closed | 0 | Plots get labels from pint arrays | TomNicholas 35968931 | Stops you needing to call `.pint.dequantify()` before plotting. Builds on top of #5568, so that should be merged first. - [x] Closes (1) from https://github.com/pydata/xarray/issues/3245#issue-484240082 - [x] Tests added - [x] Tests passing - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-07-02T00:44:28Z | 2021-07-21T23:06:21Z | 2021-07-21T22:38:34Z | 2021-07-21T22:38:34Z | 92cb751a52eec9e8b5fa521e0f9f83162eff7e3b | 0 | 4c537901edeb7df9e57d6241b81a4283d8f6fd5b | c5ee050f5faf09bb047528cca07ab57051282894 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5561 | ||||
682863283 | MDExOlB1bGxSZXF1ZXN0NjgyODYzMjgz | 5568 | closed | 0 | Add to_numpy() and as_numpy() methods | TomNicholas 35968931 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #3245 - [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-07-02T20:17:40Z | 2021-07-21T22:06:47Z | 2021-07-21T21:42:48Z | 2021-07-21T21:42:47Z | c5ee050f5faf09bb047528cca07ab57051282894 | 0 | 7bc5d6ff47f88f5685bd0a7124ce0ef54d87d7f8 | 86ca67ed67dbf605b50c682fa374471c012a3e35 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5568 | ||||
683067959 | MDExOlB1bGxSZXF1ZXN0NjgzMDY3OTU5 | 5571 | closed | 0 | Rely on NEP-18 to dispatch to dask in duck_array_ops | TomNicholas 35968931 | Removes special-casing for dask in `duck_array_ops.py`, instead relying on NEP-18 to call it when the input is a dask array. Probably actually don't need the `_dask_or_eager_func()` (now `_module_func()`) helper function at all, because all remaining instances look like `pandas_isnull = _module_func("isnull", module=pd)`, which could just be `pandas_isnull = pd.isnull`. Only problem is that I seem to have broken one (parameterized) test: `test_duck_array_ops.py::test_min_count[True-True-None-sum-True-bool_-1]` fails with ```python @pytest.mark.parametrize("dim_num", [1, 2]) @pytest.mark.parametrize("dtype", [float, int, np.float32, np.bool_]) @pytest.mark.parametrize("dask", [False, True]) @pytest.mark.parametrize("func", ["sum", "prod"]) @pytest.mark.parametrize("aggdim", [None, "x"]) @pytest.mark.parametrize("contains_nan", [True, False]) @pytest.mark.parametrize("skipna", [True, False, None]) def test_min_count(dim_num, dtype, dask, func, aggdim, contains_nan, skipna): if dask and not has_dask: pytest.skip("requires dask") da = construct_dataarray(dim_num, dtype, contains_nan=contains_nan, dask=dask) min_count = 3 # If using Dask, the function call should be lazy. with raise_if_dask_computes(): > actual = getattr(da, func)(dim=aggdim, skipna=skipna, min_count=min_count) /home/tegn500/Documents/Work/Code/xarray/xarray/tests/test_duck_array_ops.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /home/tegn500/Documents/Work/Code/xarray/xarray/core/common.py:56: in wrapped_func return self.reduce(func, dim, axis, skipna=skipna, **kwargs) /home/tegn500/Documents/Work/Code/xarray/xarray/core/dataarray.py:2638: in reduce var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs) /home/tegn500/Documents/Work/Co… | 2021-07-03T19:24:33Z | 2022-07-09T18:12:05Z | 2021-09-29T17:48:40Z | 2021-09-29T17:48:39Z | cd6065e98d99c8f749050172d5e2fc5f8f36a768 | 0 | a349538c82cadf5d89da6486d335ced1f2e319ff | 434090909dfad3e77df2488ab957ceb650045285 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5571 | ||||
696198471 | MDExOlB1bGxSZXF1ZXN0Njk2MTk4NDcx | 5632 | closed | 0 | v0.19.0 release notes | TomNicholas 35968931 | 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 | 2021-07-23T20:38:49Z | 2021-07-23T21:39:50Z | 2021-07-23T21:12:53Z | 2021-07-23T21:12:52Z | 53790638f3eb0801efd2ac2aa0ae205b8a8f10e0 | 0 | 3452d8ab9bc1ea5f74467a1b80c4566e766c02f3 | c5530d52d1bcbd071f4a22d471b728a4845ea36f | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5632 | ||||
700512687 | MDExOlB1bGxSZXF1ZXN0NzAwNTEyNjg3 | 5653 | closed | 0 | Roll coords deprecation | TomNicholas 35968931 | The default behaviour of `da.roll()` caught me out whilst trying to hand-write a `diff` function, so I completed the transition to defaulting to `roll_coords=False` as the default. It's been throwing a warning for 3 years so I think it's time! I also improved the docstrings and added type hints whilst there, although mypy doesn't seem to like some of the type hinting :/ - [x] Completes deprecation started in #2360 - [x] Tests updated - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-07-30T19:16:59Z | 2021-10-01T19:24:02Z | 2021-10-01T18:54:22Z | 2021-10-01T18:54:22Z | a62e3133b2a002e2894c6d6c58b218190c982282 | 0 | 358b24dda5d32db69a83833aa96e5c8a6ed4a9f3 | 91d4d086f4e2783387bd9aece2640bbd1e79c6c3 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5653 | ||||
702449485 | MDExOlB1bGxSZXF1ZXN0NzAyNDQ5NDg1 | 5669 | closed | 0 | Combine='by_coords' and concat dim deprecation in open_mfdataset | TomNicholas 35968931 | Noticed this hadn't been completed in https://github.com/pydata/xarray/discussions/5659 - [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-03T17:03:44Z | 2021-10-01T18:52:00Z | 2021-10-01T18:52:00Z | 2021-10-01T18:52:00Z | 91d4d086f4e2783387bd9aece2640bbd1e79c6c3 | 0 | 0e75d8cc2723440e41cfbeb57eb01dd64f6d1ca7 | ebfc6a3db0580cc11418e906766805ff4bf36455 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5669 | ||||
746897223 | PR_kwDOAMm_X84shL9H | 5834 | closed | 0 | Combine by coords dataarray bugfix | TomNicholas 35968931 | Also reorganised the logic that deals with combining mixed sets of objects (i.e. named dataarrays, unnamed dataarrays, datasets) that was added in #4696. TODO - same reorganisation / testing but for `combine_nested` as well as `combine_by_coords`. EDIT: I'm going to do this in a separate PR, so that this bugfix can be merged without it. - [x] Closes #5833 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2021-09-30T17:17:00Z | 2021-10-29T19:57:36Z | 2021-10-29T19:57:36Z | 2021-10-29T19:57:35Z | 867646fa75cb00413f1c21ca152d07a9bc4eb444 | 0 | f475f444740496cc5a2208113988f09b70d90c0b | 3bfa8c01490ec82506b66bc64446425f43b0362b | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5834 | ||||
747121520 | PR_kwDOAMm_X84siCtw | 5835 | open | 0 | combine_nested dataarrays | TomNicholas 35968931 | The spiritual successor to #4696 , this attempts to generalise `combine_nested` to handle both named and unnamed `DataArrays` in the same way that `combine_by_coords` does. Unfortunately it doesn't actually work yet - I think the problem is a bit more subtle than I originally thought. Ideally I would implement this using the same logical structure as in #5834, but my attempt to do that was thwarted by how tricky it is to iterate over a nested list-of-lists of arbitrary and modify the stored objects in place... - [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`~~ | 2021-09-30T23:19:03Z | 2022-06-09T14:50:16Z | d06cdf937ee9bbfb664c12a051b5fce36cf77ef3 | 0 | bd17056a28977534d16ce73e8e5efec37dbe89fd | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5835 | ||||||
750079791 | PR_kwDOAMm_X84stU8v | 5839 | closed | 0 | Dataset.__setitem__ raise on being passed a Dataset (for single key) | TomNicholas 35968931 | Inspired by confusion in #5833, this PR slightly clarifies the error thrown when the user attempts to do `ds['var'] = xr.Dataset`. The original error is ``` TypeError: cannot directly convert an xarray.Dataset into a numpy array. Instead, create an xarray.DataArray first, either with indexing on the Dataset or by invoking the `to_array()` method. ``` while the new error is ``` TypeError: Cannot assign a Dataset to a single key - only a DataArray or Variable object can be stored under a single key. ``` - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - ~~New functions/methods are listed in `api.rst`~~ | 2021-10-05T17:18:43Z | 2021-10-23T19:01:24Z | 2021-10-23T19:01:24Z | 2021-10-23T19:01:24Z | 214bbe09fb34496eadb4f266d3bb8c943cdae85d | 0 | 119864dcb82c410343652b6d5df5c41249f15bc0 | 5499949b5937277dcd599a182201d0e2fc5e818e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5839 | ||||
753610759 | PR_kwDOAMm_X84s6zAH | 5846 | closed | 0 | Change return type of DataArray.chunks and Dataset.chunks to a dict | TomNicholas 35968931 | Rectifies the the issue in #5843 by making `DataArray.chunks` and `Variable.chunks` consistent with `Dataset.chunks`. This would obviously need a deprecation cycle before it were merged. Currently a WIP - I changed the behaviour but this obviously broke quite a few tests and I haven't looked at them yet. - [x] Closes #5843 - [ ] 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` | 2021-10-08T00:02:20Z | 2021-10-26T15:52:00Z | 2021-10-26T15:51:59Z | 3677164822e8f790bece0ee1e0fac4575fc907cc | 1 | 690bde86b1524e9a7aca88e364a6aa58d9baef13 | 5499949b5937277dcd599a182201d0e2fc5e818e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5846 | |||||
764455744 | PR_kwDOAMm_X84tkKtA | 5886 | closed | 0 | Use .to_numpy() for quantified facetgrids | TomNicholas 35968931 | Follows on from https://github.com/pydata/xarray/pull/5561 by replacing `.values` with `.to_numpy()` in more places in the plotting code. This allows `pint.Quantity` arrays to be plotted without issuing a `UnitStrippedWarning` (and will generalise better to other duck arrays later). I noticed the need for this when trying out [this example](https://pint-xarray.readthedocs.io/en/latest/examples/plotting.html#plot) (but trying it without the `.dequantify()` call first). (@Illviljan in theory `.values` should be replaced with `.to_numpy()` everywhere in the plotting code by the way) - [ ] Closes #xxxx - [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-10-22T19:25:24Z | 2021-10-28T22:42:43Z | 2021-10-28T22:41:59Z | 2021-10-28T22:41:59Z | 36f05d70c864ee7c61603c8a43ba721bf7f434b3 | 0 | baad9de14dc2f95a777f88a33f1815ffd9ab2dfc | c210f8b9e3356590ee0d4e25dbb21b93cf7a5309 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5886 | ||||
766616311 | PR_kwDOAMm_X84tsaL3 | 5900 | closed | 0 | Add .chunksizes property | TomNicholas 35968931 | Adds a new `.chunksizes` property to `Dataset`, `DataArray` and `Variable`, which returns a mapping from dimensions names to chunk sizes in all cases. Supercedes #5846 because this PR is backwards-compatible. - [x] Closes #5843 - [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-10-26T15:51:09Z | 2023-10-20T16:00:15Z | 2021-10-29T18:12:22Z | 2021-10-29T18:12:22Z | 1d94b1ebc323f55448c07d3778cd51d72666683b | 0 | 419025a9e24608d7deb24c9832d0467627c41945 | df7646182b17d829fe9b2199aebf649ddb2ed480 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5900 | ||||
768794069 | PR_kwDOAMm_X84t0t3V | 5912 | closed | 0 | Remove lock kwarg | TomNicholas 35968931 | These were due to be removed post-0.19. - [x] Completes deprecation cycle started in #5256 - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-10-28T23:36:13Z | 2021-12-29T16:34:45Z | 2021-12-29T16:34:45Z | 2021-12-29T16:34:45Z | 2957fdf0785af0a1bbb1073049e44cfd4eef933d | 0 | ce266b5ac23cf6924a38acfa6594f12459ab19bb | 2694046c748a51125de6d460073635f1d789958e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5912 | ||||
769366652 | PR_kwDOAMm_X84t25p8 | 5916 | closed | 0 | Update open_rasterio deprecation version number | TomNicholas 35968931 | 2021-10-29T15:56:04Z | 2021-11-02T18:03:59Z | 2021-11-02T18:03:58Z | 2021-11-02T18:03:58Z | 960010b00119367ff6b82e548f2b54ca25c7a59c | 0 | b4ec8d2de52d73e4eca113aa33dd1bbc66f26373 | ba00852d061a330adbb922a2485c4de92a99540d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5916 | |||||
769468744 | PR_kwDOAMm_X84t3SlI | 5917 | closed | 0 | Update minimum dependencies for 0.20 | TomNicholas 35968931 | =============== ====== ==== Package Old New =============== ====== ==== cartopy 0.17 0.18 cftime 1.1 1.2 dask 2.15 2.30 distributed 2.15 2.30 hdf5 1.10 1.12 lxml 4.5 4.6 matplotlib-base 3.2 3.3 numba 0.49 0.51 numpy 1.17 1.18 pandas 1.0 1.1 pint 0.15 0.16 scipy 1.4 1.5 seaborn 0.10 0.11 sparse 0.8 0.11 toolz 0.10 0.11 zarr 2.4 2.5 =============== ====== ==== - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-10-29T18:38:37Z | 2021-11-01T21:14:03Z | 2021-11-01T21:14:02Z | 2021-11-01T21:14:02Z | 971b1f58c86629fe56df760a2e84c8fa8f4fb1d4 | 0 | 8418fccdb89b7d7fb9877be24b4d35feed7775f4 | 13a2695b47bf81390993c448d229446954290ffa | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5917 | ||||
770911227 | PR_kwDOAMm_X84t8yv7 | 5924 | closed | 0 | v0.20 Release notes | TomNicholas 35968931 | @pydata/xarray the release notes for your approval #5889 | 2021-11-01T21:53:29Z | 2021-11-02T19:22:46Z | 2021-11-02T16:37:45Z | 2021-11-02T16:37:44Z | 12590005f2c39e3a9459b7ec4966fd535b64c759 | 0 | 138a33874de9f57ce6d0ea5dfa4e53ecdbd58d86 | 3e442e760cc99a4b695eaaed27a286ce6e8fa6aa | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5924 | ||||
776620818 | PR_kwDOAMm_X84uSksS | 5961 | closed | 0 | [Experimental] Refactor Dataset to store variables in a manifest | TomNicholas 35968931 | This PR is part of an experiment to see how to integrate a `DataTree` into xarray. What is does is refactor `Dataset` to store variables in a `DataManifest` class, which is also capable of maintaining a ledger of child tree nodes. The point of this is to prevent name collisions between stored variables and child datatree nodes, as first mentioned in https://github.com/TomNicholas/datatree/issues/38 and explained further in https://github.com/TomNicholas/datatree/issues/2. ("Manifest" in the old sense, of a noun meaning "a document giving comprehensive details of a ship and its cargo and other contents") - [x] Would eventually close https://github.com/TomNicholas/datatree/issues/38 - [ ] Tests added - [x] Passes `pre-commit run --all-files` - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2021-11-09T14:51:03Z | 2023-12-06T17:38:53Z | 2023-12-06T17:38:52Z | 0c4c6baf99c63a92355fefe944afdd84c1c78078 | 0 | 183b92be0c55e26e28913c06c7d9b249572aa207 | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/5961 | |||||
801540716 | PR_kwDOAMm_X84vxops | 6076 | closed | 0 | Add labels to dataset diagram | TomNicholas 35968931 | While making a talk I made a version of our data structure diagram but with added labels along the bottom:  I think this helps clarify the relationship between `Variables`, `DataArrays`, and `Datasets` for new users. I just made it quickly in inkscape by adding to the previous png - I only realised afterwards that the original was made in LaTeX, so maybe it would be better to add labels directly to that code? | 2021-12-13T18:21:02Z | 2022-07-11T14:49:40Z | 2022-01-03T16:58:51Z | 2022-01-03T16:58:51Z | b88c65af4b02b7951865efb23f0d8fd62a15514e | 0 | 76a392fe0bd6ea9c4437aa999f7ecde7ee932459 | 2694046c748a51125de6d460073635f1d789958e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6076 | ||||
805582762 | PR_kwDOAMm_X84wBDeq | 6083 | closed | 0 | Manifest as variables attribute | TomNicholas 35968931 | Another attempt like #5961 @shoyer - [ ] 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-12-17T18:14:26Z | 2023-09-14T15:37:38Z | 2023-09-14T15:37:37Z | fdb8eb1eda3552452d52c9e9b8d6f13b520dc2c8 | 1 | d626b4bc83b908bbbc317d31593d2a6f68de1584 | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6083 | |||||
806156345 | PR_kwDOAMm_X84wDPg5 | 6086 | closed | 0 | Type protocol for internal variable mapping | TomNicholas 35968931 | In #5961 and #6083 I've been experimenting extending `Dataset` to store variables in a custom mapping object (instead of always in a `dict`), so as to eventually fix [this mutability problem](https://github.com/TomNicholas/datatree/issues/38) with `DataTree`. I've been writing out new storage class implementations in those PRs, but on Friday @shoyer suggested that I could instead simply alter the allowed type for `._variables` in `xarray.Dataset`'s type hints. That would allow me to mess about with storage class implementations outside of xarray, whilst guaranteeing type compatibility with xarray `main` itself with absolutely minimal changes (hopefully no runtime changes to `Dataset` at all!). The idea is to define a [protocol](https://www.python.org/dev/peps/pep-0544/) in xarray which specifies the structural subtyping behaviour of any custom variable storage class that I might want to set as `Dataset._variables`. The type hint for the `._variables` attribute then refers to this protocol, and will be satisfied as long as whatever object is set as `._variables` has compatibly-typed methods. Adding type hints to the `._construct_direct` and `._replace` constructors is enough to propagate this new type specification all over the codebase. In practice this means writing a protocol which describes the type behaviour of all the methods on `dict` that currently get used by `._variable` accesses. So far I've written out a `CopyableMutableMapping` protocol which defines all the methods needed. The issues I'm stuck on at the moment are: 1) The typing behaviour of overloaded methods, specifically `update`. (`setdefault` also has similar problems but I think I can safely omit that from the protocol definition because we don't call `._variables.setdefault()` anywhere.) Mypy complains that `CopyableMutableMapping` is not a compatible type when `Dict` is specified because the type specification of overloaded methods isn't quite right somehow: ``` xarray/core/computation.py:410: error: Argument 1 to "… | 2021-12-19T23:32:04Z | 2023-12-06T17:20:48Z | 2023-12-06T17:19:30Z | 8c8442974fd6b45a7f9310099e1d5813f4d7fc87 | 1 | 4ad93a8dc6648aef68ae66e568761ea54262775b | d1e4164f3961d7bbb3eb79037e96cae14f7182f8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6086 | |||||
863662656 | PR_kwDOAMm_X84zenJA | 6307 | closed | 0 | Drop duplicates over multiple dims, and add Dataset.drop_duplicates | TomNicholas 35968931 | Allows for dropping duplicates over multiple dims at once, and adds `Dataset.drop_duplicates`. - [x] Inspired by [this discussion question](https://github.com/pydata/xarray/discussions/6297) - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` | 2022-02-25T17:34:12Z | 2022-03-01T23:13:38Z | 2022-02-25T21:08:30Z | 2022-02-25T21:08:30Z | 17acbb027326ac5f2379fc6cabf425459759e0ca | 0 | 33d05e80a8f5bcb992e353b87986fad8eecaac0f | de965f342e1c9c5de92ab135fbc4062e21e72453 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6307 | ||||
869628383 | PR_kwDOAMm_X84z1Xnf | 6319 | closed | 0 | v2022.03.0 release notes | TomNicholas 35968931 | 2022-03-02T14:43:34Z | 2022-03-02T19:49:25Z | 2022-03-02T15:49:23Z | 2022-03-02T15:49:23Z | 9b4d0b29c319f4b68f89328b1bf558711f339504 | 0 | 3ea5ac5b9543463636c99fdc336d9600ac3be5ce | cdab326bab0cf86f96bcce4292f4fae24bddc7b6 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6319 | |||||
906289700 | PR_kwDOAMm_X842BOIk | 6471 | closed | 0 | Support **kwargs form in `.chunk()` | TomNicholas 35968931 | Also adds some explicit tests (and type hinting) for `Variable.chunk()`, as I don't think it had dedicated tests before. - [x] Closes #6459 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2022-04-11T17:37:38Z | 2022-04-12T03:34:49Z | 2022-04-11T19:36:40Z | 2022-04-11T19:36:40Z | ec13944bbd4022614491b6ec479ff2618da14ba8 | 0 | 2dcf444c3236c8a24264130d007c2d6bcc430ae0 | 2a6392b645029100de748fd2823f62e70d80f0c8 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6471 | ||||
925889142 | PR_kwDOAMm_X843L_J2 | 6566 | closed | 0 | New inline_array kwarg for open_dataset | TomNicholas 35968931 | Exposes the `inline_array` kwarg of [`dask.array.from_array`](https://docs.dask.org/en/stable/generated/dask.array.from_array.html) in `xr.open_dataset`, and `ds/da/variable.chunk`. What setting this to True does is inline the array into the opening/chunking task, which avoids an an extra array object at the start of the task graph. That's useful because the presence of that single common task connecting otherwise independent parts of the graph can confuse the graph optimizer. With `open_dataset(..., inline_array=False)`: <img src="https://user-images.githubusercontent.com/35968931/166312998-611dc79e-610c-44ab-b8ab-1f6f55e145d1.png" width="400"> With `open_dataset(..., inline_array=True)`: <img src="https://user-images.githubusercontent.com/35968931/166313051-1ef7ffc4-eab3-4e69-b58f-5f7befca7fd2.png" width="400"> In our case (xGCM) this is important because once inlined the optimizer understands that all the remaining parts of the graph are embarrasingly-parallel, and realizes that it can fuze all our chunk-wise padding tasks into one padding task per chunk. I think this option could help in any case where someone is opening data from a Zarr store (the reason we had this opener task) or a netCDF file. The value of the kwarg should be kept optional because in theory [inlining is a tradeoff](https://docs.dask.org/en/stable/generated/dask.array.from_array.html) between fewer tasks and more memory use, but I think there might be a case for setting the default to be True? Questions: 1) How should I test this? 2) Should it default to `False` or `True`? 3) `inline_array` or `inline`? (`inline_array` doesn't really make sense for `open_dataset`, which creates multiple arrays) - [x] Closes #1895 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` @rabernat @jbusecke | 2022-05-02T19:39:07Z | 2022-05-11T22:12:24Z | 2022-05-11T20:26:43Z | 2022-05-11T20:26:42Z | 0512da117388a451653484b4f45927ac337b596f | 0 | 102b503584da56f2c5faa59d0d508feae96fff34 | 6fbeb13105b419cb0a6646909df358d535e09faf | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "New inline_array kwarg for open_dataset (#6566)", "commit_message": "* added inline_array kwarg\r\n\r\n* remove cheeky print statements\r\n\r\n* Remove another rogue print statement\r\n\r\n* bump dask dependency\r\n\r\n* update multiple dependencies based on min-deps-check.py\r\n\r\n* update environment to match #6559\r\n\r\n* Update h5py in ci/requirements/min-all-deps.yml\r\n\r\n* Update ci/requirements/min-all-deps.yml\r\n\r\n* remove pynio from test env\r\n\r\n* Update ci/requirements/min-all-deps.yml\r\n\r\n* promote inline_array kwarg to be top-level kwarg\r\n\r\n* whatsnew\r\n\r\n* add test\r\n\r\n* Remove repeated docstring entry\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* Remove repeated docstring entry\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* hyperlink to dask functions\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/6566 | |||
1021852804 | PR_kwDOAMm_X8486DyE | 6903 | open | 0 | Duckarray tests for constructors and properties | TomNicholas 35968931 | 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` | 2022-08-09T18:36:56Z | 2024-01-01T13:33:22Z | e17821a91112150b72cc08d4f1d57ec27cba37fe | 0 | d2b35c5a183b322b184691a4668d3af0e63ee8fd | 2971994ef1dd67f44fe59e846c62b47e1e5b240b | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6903 | ||||||
1024003776 | PR_kwDOAMm_X849CQ7A | 6908 | open | 0 | Hypothesis strategies in xarray.testing.strategies | TomNicholas 35968931 | Adds a whole suite of hypothesis strategies for generating xarray objects, inspired by and separated out from the new hypothesis strategies in #4972. They are placed into the namespace `xarray.testing.strategies`, and publicly mentioned in the API docs, but with a big warning message. There is also a new `testing` page in the user guide documenting how to use these strategies. - [x] Closes #6911 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` EDIT: A `variables` strategy and user-facing documentation were shipped in https://github.com/pydata/xarray/pull/8404 | 2022-08-11T15:20:56Z | 2024-04-01T16:01:21Z | c285e97b0e565238b4f240f0d9ab50575f77a919 | 0 | 0aab116ce9c90a4bd6d8b75be04c03c6e6cc80f3 | b80260781ee19bddee01ef09ac0da31ec12c5152 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6908 | ||||||
1025282197 | PR_kwDOAMm_X849HJCV | 6912 | closed | 0 | Automatic PR labeler | TomNicholas 35968931 | GH action to automatically label new PRs according to which files they touch. Idea stolen from dask, see https://github.com/dask/dask/pull/7506 . Their PR labelling by file/module is specified [here](https://github.com/dask/dask/blob/main/.github/labeler.yml). (My first use of this bot so might well be a mistake.) @max-sixty you will probably enjoy this extra automation :robot: - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` | 2022-08-12T18:40:27Z | 2022-08-12T19:52:49Z | 2022-08-12T19:47:19Z | 2022-08-12T19:47:19Z | 95aca7d6a4a63aa08702dd6f6ceca7d498e20fbc | 0 | 1135581ca67885dd9c0797b2e186f36f3c5699a9 | f8fee902360f2330ab8c002d54480d357365c172 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6912 | ||||
1025630381 | PR_kwDOAMm_X849IeCt | 6913 | closed | 0 | Fix core team page | TomNicholas 35968931 | Adds missing core team members @alexamici and @aurghs to docs, as well as fixing @benbovy 's username. | 2022-08-13T17:05:51Z | 2022-08-15T13:39:47Z | 2022-08-15T13:39:43Z | 2022-08-15T13:39:43Z | d797bfbce2db75131ca094e741e50be7b69b9f15 | 0 | 912f355f84b0dd497a752273c1b4c85d35bbe6a7 | 95aca7d6a4a63aa08702dd6f6ceca7d498e20fbc | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/6913 | ||||
1049288684 | PR_kwDOAMm_X84-it_s | 7006 | open | 0 | Fix decorators in ipython code blocks in docs | TomNicholas 35968931 | There was [a bug in ipython's sphinx extension](https://github.com/ipython/ipython/pull/13612) causing decorators to be skipped when evaluating code blocks. I assume that's why there is this weird workaround in the docs page on defining accessors (which uses decorators). I fixed that bug, and the fix is in the most recent release of ipython, so this PR bumps our ipython version for the docs, and removes the workaround. - [ ] 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-09-07T22:38:07Z | 2023-01-15T18:11:17Z | 6c7f2fb4e75694ab24d53444a80882b79fc8e7f3 | 0 | 2f690d4f55196b72b70c32b0226fe719f4bcef6d | b741d8311fdc3d6150fd10d6421635eb4d84c7d5 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7006 | ||||||
1050631234 | PR_kwDOAMm_X84-n1xC | 7011 | open | 0 | Add sphinx-codeautolink extension to docs build | TomNicholas 35968931 | I think that sphinx-codeautolink is different from `sphinx.ext.linkcode`... - [x] Closes #7010 - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2022-09-08T17:43:47Z | 2023-02-06T17:55:52Z | b6318f2b3505533d83bd9848104dd685cf5bde75 | 1 | 8f67808ba80759ed28169d21d36de08ff38a3eec | d385e2063a6b5919e1fe9dd3e27a24bc7117137e | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7011 | ||||||
1052339012 | PR_kwDOAMm_X84-uWtE | 7019 | closed | 0 | Generalize handling of chunked array types | TomNicholas 35968931 | Initial attempt to get cubed working within xarray, as an alternative to dask. - [x] Closes #6807, at least for the case of cubed - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` - [x] Correct type hints I've added a `manager` kwarg to the `.chunk` methods so you can do `da.chunk(manager="cubed")` to convert to a chunked `cubed.CoreArray`, with the default still being `da.chunk(manager="dask")`. (I couldn't think of a better name than "manager", as "backend" and "executor" are already taken.) ~~At the moment it should work except for an import error that I don't understand, see below.~~ Fro cubed to work at all with this PR we would also need: - [x] Cubed to expose the correct array type consistently https://github.com/tomwhite/cubed/issues/123 - [x] A cubed version of `apply_gufunc` https://github.com/tomwhite/cubed/pull/119 - implemented in https://github.com/tomwhite/cubed/pull/149 :partying_face: To-dos for me on this PR: - [x] Re-route `xarray.apply_ufunc` through `cubed.apply_gufunc` instead of dask's `apply_gufunc` when appropriate, - [x] Add `from_array_kwargs` to opening functions, e.g. `open_zarr`, and `open_dataset`, - [x] Add `from_array_kwargs` to creation functions, such as `full_like`, - [x] Add `store_kwargs` as a way to propagate cubed-specific kwargs when saving `to_zarr`. To complete this project more generally we should also: - [ ] Have `cubed.apply_gufunc` support multiple output arguments https://github.com/tomwhite/cubed/issues/152 - [x] Have a top-level `cubed.unify_chunks` to match `dask.array.core.unify_chunks` - [ ] Write a test suite for wrapping cubed arrays, which would be best done via #6894 - [ ] Generalise `xarray.map_blocks` to work on cubed arrays, ideally by first rewriting xarray's implementation of `map_blocks` to use `dask.array.map_blocks` cc @tomwhite | 2022-09-10T22:02:18Z | 2023-07-24T20:40:29Z | 2023-05-18T17:34:31Z | 2023-05-18T17:34:31Z | 6cd6122ab7850842624bfe40579c5b7dc80185f9 | 0 | c69c56319dfbe84ac5e59b97a497ed8de799905d | 964d350a80fe21d4babf939c108986d5fd90a2cf | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7019 | ||||
1053794502 | PR_kwDOAMm_X84-z6DG | 7023 | closed | 0 | Remove dask_array_type checks | TomNicholas 35968931 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [ ] From https://github.com/pydata/xarray/pull/7019#discussion_r968606140 - [ ] ~~Tests added~~ - [ ] ~~User visible changes (including notable bug fixes) are documented in `whats-new.rst`~~ - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2022-09-12T19:31:04Z | 2022-09-13T00:35:25Z | 2022-09-13T00:35:22Z | 2022-09-13T00:35:22Z | 073f414eb810af02e2ad12d35bcd313558921837 | 0 | 8b1c5628792a2c27a08ea978cea95aaf9077f43e | b018442c8dfa3e71ec35e294de69e2011949afec | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7023 | ||||
1067717283 | PR_kwDOAMm_X84_pBKj | 7090 | closed | 0 | Fill in missing docstrings for ndarray properties | TomNicholas 35968931 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [ ] ~~Closes #xxxx~~ - [ ] ~~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-09-26T21:05:37Z | 2022-09-26T22:24:13Z | 2022-09-26T22:05:34Z | 2022-09-26T22:05:34Z | 77b9e8a9186b74acc1c64bb56f4293bd042b80a0 | 0 | 69e24cbe48fdae945e2e066daac475fcb4cef1bf | 404a6e268d3d83e8bad04768971ba1bc207a155d | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Fill in missing docstrings for ndarray properties (#7090)", "commit_message": "* fill in missing docstrings for ndarray properties\r\n\r\n* whatsnew" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7090 | |||
1071728044 | PR_kwDOAMm_X84_4UWs | 7107 | closed | 0 | 2022.09.0 release summary | TomNicholas 35968931 | Thumbs up if it looks fine to you | 2022-09-29T18:34:02Z | 2022-09-29T21:57:43Z | 2022-09-29T21:54:14Z | 2022-09-29T21:54:14Z | 208e58869758d7ceb01fba8422e2caaa7296268c | 0 | 1063cc75e73ab9ce2db490a90e8fd232762d2835 | 2fe78758dc47b2de329df6807a6c7dd2c293946c | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "2022.09.0 release summary (#7107)", "commit_message": "* release summary\r\n\r\n* Update doc/whats-new.rst\r\n\r\nCo-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>\r\n\r\n* correct after Max's wording change\r\n\r\nCo-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7107 | |||
1094478481 | PR_kwDOAMm_X85BPGqR | 7192 | closed | 0 | Example using Coarsen.construct to split map into regions | TomNicholas 35968931 | I realised there is very little documentation on `Coarsen.construct`, so I added this example. Unsure whether it should instead live in the page on reshaping and reorganising data though, as it is essentially a reshape operation. EDIT: Now on the reshape page - [ ] ~~Closes #xxxx~~ - [ ] ~~Tests added~~ - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ cc @jbusecke @paigem | 2022-10-20T22:14:31Z | 2022-10-21T18:14:59Z | 2022-10-21T18:14:56Z | 2022-10-21T18:14:55Z | 6cb97f645475bddf2f3b1e1a5f24f0f9de690683 | 0 | cfe405b146f65cfd1fcad2132477086c4cd870bb | 8f34b32cd77c7e7e2e559c1ced9adf3100ecf40d | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7192 | ||||
1102359579 | PR_kwDOAMm_X85BtKwb | 7233 | closed | 0 | Ensure Coarsen.construct keeps all coords | TomNicholas 35968931 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #7232 - [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-10-27T23:46:49Z | 2022-10-28T17:46:50Z | 2022-10-28T17:46:50Z | 2022-10-28T17:46:50Z | e1936a98059ae29da2861f58a7aff4a56302aac1 | 0 | 8a3d2002dc11fa8546609534a0d723e3b8866d2a | 51d37d1be95547059251076b3fadaa317750aab3 | 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": "Ensure Coarsen.construct keeps all coords (#7233)", "commit_message": "* test\r\n\r\n* fix\r\n\r\n* whatsnew\r\n\r\n* group related tests into a class\r\n\r\n* Update xarray/core/rolling.py\r\n\r\n* Update xarray/core/rolling.py\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7233 | |||
1140703190 | PR_kwDOAMm_X85D_b_W | 7338 | closed | 0 | Docs: add example of writing and reading groups to netcdf | TomNicholas 35968931 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Came from https://github.com/pydata/xarray/discussions/7329#discussioncomment-4256845 - [ ] ~~Tests added~~ - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ @dcherian | 2022-11-30T18:01:32Z | 2022-12-01T16:24:08Z | 2022-12-01T16:24:04Z | 2022-12-01T16:24:04Z | 43ec7a907c7e384608b4c6b1f4c9b1258898f0dc | 0 | 16f485bb4b560630e738903950c9cd430dbccaa8 | 3aa75c8d00a4a2d4acf10d80f76b937cadb666b7 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7338 | ||||
1185417960 | PR_kwDOAMm_X85GqAro | 7418 | closed | 0 | Import datatree in xarray? | TomNicholas 35968931 | I want [datatree](https://github.com/xarray-contrib/datatree) to live in xarray main, as right now it's in a separate package but imports many xarray internals. This presents a few questions: 1) At what stage is datatree "ready" to moved in here? At what stage should it become encouraged public API? 2) What's a good way to slowly roll the feature out? 3) How do I decrease the bus factor on datatree's code? Can I get some code reviews during the merging process? :pray: 4) Should I make a new CI environment just for testing datatree stuff? Today @jhamman and @keewis suggested for now I make it so that you can `from xarray import DataTree`, using the current xarray-datatree package as an optional dependency. That way I can create a smoother on-ramp, get some more users testing it, but without committing all the code into this repo yet. @pydata/xarray what do you think? Any other thoughts about best practices when moving a good few thousand lines of code into xarray? - [x] First step towards moving solution of #4118 into this repository - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` | 2023-01-04T20:48:09Z | 2023-12-22T17:38:04Z | 2023-12-22T17:38:04Z | cc8dfe882e7c6962ebe3dd108a9330a8c31d17ad | 0 | 7cf1d5532cbad1aaf9841cbe959e764ad9661835 | 67d0ee20f66517627a2ce795b650b980dd982de9 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7418 | |||||
1224298678 | PR_kwDOAMm_X85I-VC2 | 7497 | open | 0 | Enable datatree * dataset commutativity | TomNicholas 35968931 | Change binary operations involving `DataTree` objects and `Dataset` objects to be handled by the `DataTree` class. Necessary to enable `ds * dt` to return the same type as `dt * ds`. Builds on top of #7418. - [x] Closes https://github.com/xarray-contrib/datatree/issues/146 - [x] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2023-02-01T05:24:53Z | 2023-02-03T17:32:20Z | 31219ae5fa8647fdd55e17e36e49cb370cc69f14 | 0 | 87f5e2591cfa3f399031ebec0331b114aa01e2ee | 67d0ee20f66517627a2ce795b650b980dd982de9 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7497 | ||||||
1231289701 | PR_kwDOAMm_X85JY_1l | 7509 | closed | 0 | Update apply_ufunc output_sizes error message | TomNicholas 35968931 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes poor error message reported in https://github.com/pydata/xarray/discussions/7503 - [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`~~ | 2023-02-07T01:35:08Z | 2023-02-07T15:45:54Z | 2023-02-07T05:01:36Z | 2023-02-07T05:01:36Z | d2a68d05a2a7e76fa3d4b78671a79608d233260c | 0 | 8aac59752dfcfc84509c602a8405913149fec532 | 5b6d757e870e3006fa5df974cbeeb242251fabb6 | 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": "Update apply_ufunc output_sizes error message (#7509)", "commit_message": "* test for error message\r\n\r\n* fix\r\n\r\n* whatsnew\r\n\r\n---------\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7509 | |||
1236823941 | PR_kwDOAMm_X85JuG-F | 7518 | closed | 0 | State which variables not present in drop vars error message | TomNicholas 35968931 | Makes the error message more informative - [ ] Closes #xxxx - [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`~~ | 2023-02-10T15:00:35Z | 2023-03-09T20:47:47Z | 2023-03-09T20:47:47Z | 2023-03-09T20:47:47Z | 49ae0f8dd39e8fc59ed3476f50b9938bbb40d0c4 | 0 | 6699f6dbcc9f6797cc28438c4d9aa7f0192d4627 | 6d771fc82228bdaf8a4b77d0ceec1cc444ebd090 | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "State which variables not present in drop vars error message (#7518)", "commit_message": "* test\r\n\r\n* improve error message\r\n\r\n* whatsnew\r\n\r\n* order the names of missing variables before raising\r\n\r\n* escape regex so it matches" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7518 | |||
1242341592 | PR_kwDOAMm_X85KDKDY | 7534 | open | 0 | Docs page on numpy to xarray | TomNicholas 35968931 | - [x] Closes #7533 - [ ] ~~Tests added~~ - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-02-15T16:16:53Z | 2023-02-15T16:16:53Z | fc86b607a2b267e2f85f4609d95cc31b6784fcec | 0 | 4becceac26b0cf01ee115014afd3095f715992e9 | 21d86450b3cec595c74aa410cbcc367c9c7f8a0a | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7534 | ||||||
1268138688 | PR_kwDOAMm_X85LlkLA | 7595 | closed | 0 | Clarifications in contributors guide | TomNicholas 35968931 | 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`~~ | 2023-03-08T16:35:45Z | 2023-03-13T17:55:43Z | 2023-03-13T17:51:24Z | 2023-03-13T17:51:24Z | 4faecb453d414b829803abeda4ba1bedd8142f5d | 0 | ad84fb98c9bb6e068aff4d9ffa93de6d8c4b67dc | 485f801d4bbfc8b2b8c20a390a859ae6cd71ba16 | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Clarifications in contributors guide (#7595)", "commit_message": "* update links to issue labels\r\n\r\n* clarify that we actually use ruff now in pre-commit\r\n\r\n* mention absolufy-imports which we use in pre-commit\r\n\r\n* checked that example test file works\r\n\r\n* fix formatting of nested bullets\r\n\r\n* add pre-commit to docs env\r\n\r\n* clarify which environment to use for docstrings\r\n\r\n* explain how to view local html docs build\r\n\r\n* clarify what pip -e does\r\n\r\n* update git commit message requirements\r\n\r\n* clarify that small changes don't require local testing\r\n\r\n* whatsnew\r\n\r\n* point to CI build of the docs\r\n\r\n* add suggestion to use github desktop\r\n\r\n* image to help find view docs button on readthedocs\r\n\r\n* update outdated screenshot of green ci\r\n\r\n* internal link to point to where you can view RTD build\r\n\r\n* Add ruff as separate entry in list of pre-commit checks\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n---------\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7595 | |||
1335673210 | PR_kwDOAMm_X85PnMF6 | 7811 | open | 0 | Generalize delayed | TomNicholas 35968931 | A small follow-on to #7019 to allow using non-dask implementations of `delayed`. (Builds off of #7019) - [x] Closes #7810 - [ ] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2023-05-02T18:34:26Z | 2024-04-23T17:41:55Z | 336e84ecad21cb5f1f324fde326ec5d4aa3a3bdf | 0 | c183e73e8488636d99a64d805e290e9544a4fa08 | da8746b46265a61a5a5020924d27aeccd1f43f98 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7811 | ||||||
1337758866 | PR_kwDOAMm_X85PvJSS | 7815 | closed | 0 | Array API fixes for astype | TomNicholas 35968931 | While it's common for duck arrays to have a `.astype` method, this doesn't exist in the new array API standard. We now have `duck_array_ops.astype` to deal with this, but for some reason changing it in just a couple more places broke practically every pint test in `test_units.py` :confused: @keewis Builds on top of #7019 with just one extra commit to separate out this issue. - [ ] 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` | 2023-05-04T04:33:52Z | 2023-05-18T20:10:48Z | 2023-05-18T20:10:43Z | 1aaa863b646c97b6845673eeb97be64106f96f86 | 0 | 18be6e9a5f378fa8c47fbc28b5451e3570321706 | 306310050f6278f4d8107159c9c3649fbd6b5dea | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7815 | |||||
1356222019 | PR_kwDOAMm_X85Q1k5D | 7847 | closed | 0 | Array API fixes for astype | TomNicholas 35968931 | Follows on from #7067 and #6804, ensuring that we call `xp.astype()` on arrays rather than `arr.astype()`, as the latter is commonly-implemented by array libraries but not part of the array API standard. A bit of a pain to test in isolation because I made the changes so that xarray's .pad would work with array-API-conforming libraries, but actually `np.pad` is not part of the array API either, so it's going to coerce to numpy for that reason anyway. (This PR replaces #7815, as making a new branch was easier than merging/rebasing with all the changes in #7019.) - [ ] ~~Closes #xxxx~~ - [ ] ~~Tests added~~ - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-05-18T20:09:32Z | 2023-05-19T15:11:17Z | 2023-05-19T15:11:16Z | 2023-05-19T15:11:16Z | 05c7888d0faf753968e12cd338730f7a7f3c891a | 0 | e69c4fa5d226438294c0246c1c2f8588415e4c22 | 97a2032a163bb36f6d9e4bf7bff3eca7d7e3faa4 | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Array API fixes for astype (#7847)", "commit_message": "* array API fixes for astype\r\n\r\n* whatsnew" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7847 | |||
1356351875 | PR_kwDOAMm_X85Q2EmD | 7849 | closed | 0 | Whats new for release of v2023.05.0 | TomNicholas 35968931 | Summary: This release adds some new methods and operators, updates our deprecation policy for python versions, fixes some bugs with groupby, and introduces experimental support for alternative chunked parallel array computation backends via a new plugin system! | 2023-05-18T22:30:32Z | 2023-05-19T02:18:03Z | 2023-05-19T02:17:55Z | 2023-05-19T02:17:55Z | 97a2032a163bb36f6d9e4bf7bff3eca7d7e3faa4 | 0 | 04a2509d0fb28715b4c088e139b0aca1d148cebb | 08f06c434546fc1de8eaf04011591d2d31b874b2 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7849 | ||||
1389285079 | PR_kwDOAMm_X85Szs7X | 7911 | closed | 0 | Duck array documentation improvements | TomNicholas 35968931 | Draft improvements to the user guide page on using duck arrays. Intended as part of the [scipy tutorial](https://github.com/xarray-contrib/xarray-tutorial/issues/170) effort, though I wasn't sure whether to concentrate on content in the main xarray docs or the tutorial repo. (I wrote this on a train without enough internet to update my conda environment so I will come back and fix anything that doesn't run.) - [x] Part of https://github.com/xarray-contrib/xarray-tutorial/issues/170 - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` cc @dcherian and @keewis | 2023-06-12T19:10:41Z | 2023-07-10T09:36:05Z | 2023-06-29T14:39:22Z | 2023-06-29T14:39:22Z | 4b544211b42a66744893a80c3ddc45dd9f9479de | 0 | 08c0f8476e6817a098a0cb262c04cfe7f7b09790 | 1146c5a3cdb15d402e95153c3ea68826b158d953 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7911 | ||||
1402136292 | PR_kwDOAMm_X85Tkubk | 7934 | closed | 0 | Release summary for v2023.06.0 | TomNicholas 35968931 | Release summary: This release adds features to ``curvefit``, improves the performance of concatenation, and fixes various bugs. --- For some reason when I try to use `git log "$(git tag --sort=v:refname | tail -1).." --format=%aN | sort -u | perl -pe 's/\n/$1, /'` to return the list of all contributors since last release, it only returns Deepak :laughing: I'm not sure what's going wrong there - I definitely have all the git tags fetched, and other people have definitely contributed since the last version! | 2023-06-21T17:34:29Z | 2023-06-23T03:02:12Z | 2023-06-23T03:02:11Z | 2023-06-23T03:02:11Z | a80ff50830b032d0e422c1e7344164d239906e92 | 0 | ff11c4aef11d0b0bd11ae485730e58c61a88935f | cbbf347d8153a786e8398beab79a32220038a381 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7934 | ||||
1406746614 | PR_kwDOAMm_X85T2T_2 | 7941 | closed | 0 | Allow cubed arrays to be passed to flox groupby | TomNicholas 35968931 | Generalizes a small check for chunked arrays in groupby so it now allows cubed arrays through to flox rather than just dask arrays. Does not actually mean that flox groupby will work with cubed yet though, see https://github.com/tomwhite/cubed/issues/223 and https://github.com/xarray-contrib/flox/issues/224 - [x] Should have been done in #7019 - [ ] ~~Tests added~~ (The place to test this would be in [`cubed-xarray`] - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-06-25T16:48:56Z | 2023-06-26T15:28:06Z | 2023-06-26T15:28:03Z | 2023-06-26T15:28:03Z | e5071aad4a081253a6df5ce372c4637df7cad3f5 | 0 | f7d452a834be961c273946aa60469a78a65d54b4 | 86f99337d803866a4288fc7550f9ee8c495baf87 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7941 | ||||
1412510011 | PR_kwDOAMm_X85UMTE7 | 7951 | closed | 0 | Chunked array docs | TomNicholas 35968931 | Builds upon #7911 - [x] Documentation for #7019 - [ ] ~~Tests added~~ - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-06-28T23:01:42Z | 2023-07-05T20:33:33Z | 2023-07-05T20:08:19Z | 2023-07-05T20:08:19Z | 58096a6549ac96e7fd751fe1c0ca83b1d69ee2ef | 0 | a66c25af33e55693bbc64cffcf14ddff172cd700 | 0de77610a5a7f90212a7c2f2d2545c32865ad60c | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Chunked array docs (#7951)", "commit_message": "* draft updates\r\n\r\n* discuss array API standard\r\n\r\n* fix sparse examples so they run\r\n\r\n* Deepak's suggestions\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* link to duck arrays user guide from internals page\r\n\r\n* fix various links\r\n\r\n* itemized list\r\n\r\n* mention dispatching on functions not in the array API standard\r\n\r\n* examples of duckarrays\r\n\r\n* add intended audience to xarray internals section\r\n\r\n* draft page on chunked arrays\r\n\r\n* move paragraph on why its called a duck array upwards\r\n\r\n* delete section on numpy ufuncs\r\n\r\n* explain difference between .values and to_numpy\r\n\r\n* strongly prefer to_numpy over values\r\n\r\n* recommend to_numpy instead of values in the how do I? page\r\n\r\n* clearer about using to_numpy\r\n\r\n* merge section on missing features\r\n\r\n* remove todense from examples\r\n\r\n* whatsnew\r\n\r\n* double that\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* numpy array class clarification\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* Remove sentence about xarray's internals\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* array API standard\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* proper link for sparse.COO type\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* links to docstrings of array types\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* don't put variable in parentheses\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* double backquote formatting\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* better bracketing\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* fix list formatting\r\n\r\n* add links to glue packages, dask, and cubed\r\n\r\n* link to todense method\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* link to numpy-like arrays page\r\n\r\n* link to numpy ufunc docs\r\n\r\n* more text about chunkmanagers\r\n\r\n* add example of using .to_numpy\r\n\r\n* note on ideally not having an entrypoint system\r\n\r\n* parallel processing without chunks\r\n\r\n* explain the user interface\r\n\r\n* how to register the chunkmanager\r\n\r\n* show example of .values failing\r\n\r\n* link from duck arrays page\r\n\r\n* whatsnew\r\n\r\n* move whatsnew entry to unreleased version\r\n\r\n* capitalization\r\n\r\n* fix warning in docs build\r\n\r\n* fix a bunch of links\r\n\r\n* display API of ChunkManagerEntrypoint class attributes and methods\r\n\r\n* improve docstrings in ABC\r\n\r\n* add cubed to intersphinx mapping\r\n\r\n* link to dask.array as module not class\r\n\r\n* typo\r\n\r\n* fix bold formatting\r\n\r\n* proper docstrings\r\n\r\n* mention from_array specifically and link to requirements section of duck array internals page\r\n\r\n* add explicit link to cubed\r\n\r\n* mention ramba and arkouda\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* py:mod\r\n\r\n* Present tense regarding wrapping cubed\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* add links to cubed\r\n\r\n* add references for numpy links in apply_gufunc docstring\r\n\r\n* fix some broken links to docstrings\r\n\r\n---------\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\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/7951 | |||
1418691392 | PR_kwDOAMm_X85Uj4NA | 7960 | closed | 0 | Update minimum version of typing extensions in pre-commit | TomNicholas 35968931 | Attempt to fix the pre-commit build failure I keep seeing in the CI (e.g. [this failure](https://results.pre-commit.ci/run/github/13221727/1688407091.YvAQyUabR0mkXgYloCyiVQ) from https://github.com/pydata/xarray/pull/7881) | 2023-07-03T21:27:40Z | 2023-07-05T19:09:04Z | 2023-07-05T15:43:40Z | 2023-07-05T15:43:40Z | 429ff9b1339004de27453874dd2f4aef5461a49a | 0 | 6c408314460a132ca22feca8a356db8b2fd555ed | 77e2db5aa1d8828bc7310062680ad9fe15a65d8a | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7960 | ||||
1421643298 | PR_kwDOAMm_X85UvI4i | 7963 | open | 0 | Suggest installing dask when not discovered by ChunkManager | TomNicholas 35968931 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #7962 - [ ] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-07-05T19:34:06Z | 2023-10-16T13:31:44Z | 5596c3f6021e79205f6ca253590a51fcdd5873ee | 0 | 2a8552687eada16f8aee60763dfa166780be1558 | dafd726c36e24ac77427513a4a149a6933353b66 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7963 | ||||||
1429947827 | PR_kwDOAMm_X85VO0Wz | 7979 | closed | 0 | Release summary for v2023.07.0 | TomNicholas 35968931 | 2023-07-11T17:59:28Z | 2023-07-13T16:33:43Z | 2023-07-13T16:33:43Z | 2023-07-13T16:33:43Z | 0040bbc09af0262ac18d1ab2e7d2f6fafda51768 | 0 | 2e392a3318c4d17ca07064a6ad7632f81e56a10f | 799f12d756f9edf1a40188461cf3833a0788af82 | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Release summary for v2023.07.0 (#7979)", "commit_message": "* release summary\r\n\r\n* Date format\r\n\r\nCo-authored-by: Anderson Banihirwe <13301940+andersy005@users.noreply.github.com>\r\n\r\n---------\r\n\r\nCo-authored-by: Anderson Banihirwe <13301940+andersy005@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7979 | ||||
1431658026 | PR_kwDOAMm_X85VVV4q | 7981 | open | 0 | Document that Coarsen accepts coord func as callable | TomNicholas 35968931 | Documents a hidden feature I noticed yesterday, corrects incorrect docstrings, and tidies up some of the typing internally. - [ ] ~~Closes #xxxx~~ - [ ] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-07-12T17:01:31Z | 2023-09-19T01:18:49Z | 5493d9be1e81fc2607c038f7faba7382844b562d | 0 | 9b8da97e35f50accbeaf9035ecd3c4b009d0b038 | 799f12d756f9edf1a40188461cf3833a0788af82 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7981 | ||||||
1436581288 | PR_kwDOAMm_X85VoH2o | 7991 | closed | 0 | Docs page on internal design | TomNicholas 35968931 | Adds a new page to the xarray internals documentation giving an overview of the internal design of xarray. This should be helpful for xarray contributors and for developers of extensions because nowhere in the docs does it really explain how `DataArray` and `Dataset` are constructed from `Variable`. - [ ] ~~Closes #xxxx~~ - [ ] ~~Tests added~~ - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-07-17T04:46:55Z | 2023-09-08T15:41:32Z | 2023-09-08T15:41:32Z | 2023-09-08T15:41:32Z | 67268f1159fc5b4aee5c644b37d84036d8fc1528 | 0 | 440f95a4b14aee8339e5d74acdc2ef8fbf35c0f4 | e2b6f3468ef829b8a83637965d34a164bf3bca78 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7991 | ||||
1436603724 | PR_kwDOAMm_X85VoNVM | 7992 | closed | 0 | Docs page on interoperability | TomNicholas 35968931 | Builds upon #7991 by adding a page to the internals enumerating all the different ways in which xarray is interoperable. Would be nice if https://github.com/pydata/xarray/pull/6975 were merged so that I could link to it from this new page. - [x] Addresses comment in https://github.com/pydata/xarray/pull/6975#issuecomment-1246487152 - [ ] ~~Tests added~~ - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-07-17T05:02:29Z | 2023-10-26T16:08:56Z | 2023-10-26T16:04:33Z | 2023-10-26T16:04:33Z | 78f749166ae4330c638f8daec3cf25530ea6588b | 0 | ae4619b8706c3392925a7209424e45abebfbeb04 | cef76ecc38751a615a7615b29244f99ab6a8995c | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Docs page on interoperability (#7992)", "commit_message": "* add page on internal design\r\n\r\n* add xarray-datatree to intersphinx mapping\r\n\r\n* typo\r\n\r\n* add subheadings to the accessors page\r\n\r\n* Revert \"add page on internal design\"\r\n\r\nThis reverts commit 198f67b9a5a5f0b1b37ba3f0f844c2d706a2bfab.\r\n\r\n* rename page on variables\r\n\r\n* whatsnew\r\n\r\n* page on interoperability\r\n\r\n* add interoperability page to index\r\n\r\n* fix whatsnew\r\n\r\n* sel->isel\r\n\r\n* add section on lazy indexing\r\n\r\n* actually show lazy indexing example\r\n\r\n* link to custom indexes page\r\n\r\n* fix some formatting\r\n\r\n* put encoding last\r\n\r\n* attrs and encoding are not ordered dicts\r\n\r\nCo-authored-by: Illviljan <14371165+Illviljan@users.noreply.github.com>\r\n\r\n* reword lack of support for subclassing\r\n\r\nCo-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>\r\n\r\n* remove duplicate word\r\n\r\n* encourage contributions to supporting subclassing\r\n\r\n---------\r\n\r\nCo-authored-by: Illviljan <14371165+Illviljan@users.noreply.github.com>\r\nCo-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/7992 | |||
1436668109 | PR_kwDOAMm_X85VodDN | 7993 | closed | 0 | Update whats-new.rst for new release | TomNicholas 35968931 | Needed because I started the release process earlier this week by writing a whatsnew, that apparently got merged, but the release hasn't been issued since. I'll self-merge this and release now. | 2023-07-17T06:03:19Z | 2023-07-17T06:03:43Z | 2023-07-17T06:03:42Z | 2023-07-17T06:03:42Z | 69236b8cfae9cf38682d79b766e92d6eba215c3c | 0 | 1f3ad9c49431cca330423860d47c0305ea3a59a0 | a47ff4ed7ff6d6a5a16d0e604bdb120557c42e13 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/7993 | ||||
1439463058 | PR_kwDOAMm_X85VzHaS | 7999 | closed | 0 | Core team member guide | TomNicholas 35968931 | Adds a guide for core developers of xarray. Mostly adapted from [napari's core dev guide](https://napari.org/stable/developers/core_dev_guide.html), but with some extra sections and ideas from the [pandas maintainance guide](https://pandas.pydata.org/docs/development/maintaining.html). @pydata/xarray please give your feedback on this! If you prefer to give feedback in a non-public channel for whatever reason then please use the private core team email. - [ ] ~~Closes #xxxx~~ - [ ] ~~Tests added~~ - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-07-18T15:26:01Z | 2023-07-21T14:51:57Z | 2023-07-21T13:48:26Z | 2023-07-21T13:48:26Z | efa28639eae14b3958363b83fe6f89c37f870478 | 0 | e11e498912f58ac7dce92bf4a47e5ba091723625 | 6b1ff6d13bf360df786500dfa7d62556d23e6df9 | MEMBER | { "enabled_by": { "login": "TomNicholas", "id": 35968931, "node_id": "MDQ6VXNlcjM1OTY4OTMx", "avatar_url": "https://avatars.githubusercontent.com/u/35968931?v=4", "gravatar_id": "", "url": "https://api.github.com/users/TomNicholas", "html_url": "https://github.com/TomNicholas", "followers_url": "https://api.github.com/users/TomNicholas/followers", "following_url": "https://api.github.com/users/TomNicholas/following{/other_user}", "gists_url": "https://api.github.com/users/TomNicholas/gists{/gist_id}", "starred_url": "https://api.github.com/users/TomNicholas/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/TomNicholas/subscriptions", "organizations_url": "https://api.github.com/users/TomNicholas/orgs", "repos_url": "https://api.github.com/users/TomNicholas/repos", "events_url": "https://api.github.com/users/TomNicholas/events{/privacy}", "received_events_url": "https://api.github.com/users/TomNicholas/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Core team member guide (#7999)", "commit_message": "* copy napari core dev guide\r\n\r\n* replace all instance of napari with xarray\r\n\r\n* rewrite some napari-specific sentences\r\n\r\n* update links in the resources\r\n\r\n* list tasks\r\n\r\n* fixes\r\n\r\n* mention the plan to merge label\r\n\r\nCo-authored-by: Michael Niklas <mick.niklas@gmail.com>\r\n\r\n* core dev -> core team member\r\n\r\n* choose your own title\r\n\r\n* rearrange sections to put tasks before code contributions\r\n\r\n* remove dramatic nuclear launch keys analogy\r\n\r\n* link to bi-weekly developers meeting\r\n\r\n* add more types of tasks\r\n\r\n* mention presenting tutorials\r\n\r\n* mention representing xarray in user communities\r\n\r\n* yet more tasks\r\n\r\n* note that you don't have to do everything\r\n\r\n* paragraph at top making it clear no extra work is required!\r\n\r\n* whatsnew\r\n\r\n* add section on issue triage\r\n\r\n* Apply suggestions from Deepak's code review\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\n\r\n* various fixes\r\n\r\n* Update CORE_TEAM_GUIDE.md\r\n\r\nCo-authored-by: Joe Hamman <jhamman1@gmail.com>\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* How to run benchmark CI using PR label\r\n\r\n---------\r\n\r\nCo-authored-by: Michael Niklas <mick.niklas@gmail.com>\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>\r\nCo-authored-by: Joe Hamman <jhamman1@gmail.com>\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/7999 | |||
1448840491 | PR_kwDOAMm_X85WW40r | 8019 | closed | 0 | Generalize cumulative reduction (scan) to non-dask types | TomNicholas 35968931 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Needed for https://github.com/tomwhite/cubed/issues/277#issuecomment-1648567431 - should have been added in #7019 - [ ] ~~Tests added~~ (would go in cubed-xarray) - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` (new ABC method will be documented on chunked array types page automatically) | 2023-07-25T17:22:07Z | 2023-12-18T19:30:18Z | 2023-12-18T19:30:18Z | 2023-12-18T19:30:18Z | 766da3480f50d7672fe1a7c1cdf3aa32d8181fcf | 0 | f41a35c45dfaf3f4bfc9b5bf14b88a75348d099d | 2971994ef1dd67f44fe59e846c62b47e1e5b240b | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/8019 | ||||
1558999807 | PR_kwDOAMm_X85c7HL_ | 8319 | closed | 0 | Move parallelcompat and chunkmanagers to NamedArray | TomNicholas 35968931 | @dcherian I got to this point before realizing that simply moving `parallelcompat.py` over isn't [what it says in the design doc](https://github.com/pydata/xarray/blob/main/design_notes/named_array_design_doc.md#appendix-implementation-details), which instead talks about > - Could this functionality be left in Xarray proper for now? Alternative array types like JAX also have some notion of "chunks" for parallel arrays, but the details differ in a number of ways from the Dask/Cubed. > - Perhaps variable.chunk/load methods should become functions defined in xarray that convert Variable objects. This is easy so long as xarray can reach in and replace `.data` I personally think that simply moving parallelcompat makes sense so long as you expect people to use chunked `NamedArray` objects. I see the chunked arrays as special cases of duck arrays, and my understanding is that `NamedArray` is supposed to have full support for duckarrays. cc @andersy005 - [x] As requested in #8238 - [ ] ~~Tests added~~ - [ ] ~~User visible changes (including notable bug fixes) are documented in `whats-new.rst`~~ - [ ] ~~New functions/methods are listed in `api.rst`~~ | 2023-10-16T16:34:26Z | 2024-02-12T22:09:24Z | 2024-02-12T22:09:24Z | 2024-02-12T22:09:24Z | d64460795e406bc4a998e2ddae0054a1029d52a9 | 0 | ea7feef45437b2f0b8a97aae61d4685cd7ee6eb9 | 3d490ec3f1cd0ac9114a5d270550ce6e7864ade7 | MEMBER | { "enabled_by": { "login": "andersy005", "id": 13301940, "node_id": "MDQ6VXNlcjEzMzAxOTQw", "avatar_url": "https://avatars.githubusercontent.com/u/13301940?v=4", "gravatar_id": "", "url": "https://api.github.com/users/andersy005", "html_url": "https://github.com/andersy005", "followers_url": "https://api.github.com/users/andersy005/followers", "following_url": "https://api.github.com/users/andersy005/following{/other_user}", "gists_url": "https://api.github.com/users/andersy005/gists{/gist_id}", "starred_url": "https://api.github.com/users/andersy005/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/andersy005/subscriptions", "organizations_url": "https://api.github.com/users/andersy005/orgs", "repos_url": "https://api.github.com/users/andersy005/repos", "events_url": "https://api.github.com/users/andersy005/events{/privacy}", "received_events_url": "https://api.github.com/users/andersy005/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Move parallelcompat and chunkmanagers to NamedArray (#8319)", "commit_message": "Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\r\nCo-authored-by: Anderson Banihirwe <13301940+andersy005@users.noreply.github.com>\r\nCo-authored-by: Anderson Banihirwe <axbanihirwe@ualr.edu>\r\n" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/8319 | |||
1584712126 | PR_kwDOAMm_X85edMm- | 8404 | closed | 0 | Hypothesis strategy for generating Variable objects | TomNicholas 35968931 | Breaks out just the part of #6908 needed for generating arbitrary `xarray.Variable` objects. (so ignore the ginormous number of commits) EDIT: [Check out this test](https://github.com/pydata/xarray/pull/8404#discussion_r1382313965) which performs a mean on any subset of any Variable object! ```python In [36]: from xarray.testing.strategies import variables In [37]: variables().example() <xarray.Variable (ĭ: 3)> array([-2.22507386e-313-6.62447795e+016j, nan-6.46207519e+185j, -2.22507386e-309+3.33333333e-001j]) ``` @andersy005 @maxrjones @jhamman I thought this might be useful for the `NamedArray` testing. (xref #8370 and #8244) @keewis and @Zac-HD sorry for letting that PR languish for literally a year :sweat_smile: This PR addresses [your feedback about accepting a callable](https://github.com/pydata/xarray/pull/6908#discussion_r974956861) that returns a strategy generating arrays. That suggestion makes some things a bit more complex in user code but actually allows me to simplify the internals of the `variables` strategy significantly. I'm actually really happy with this PR - I think it solves what we were discussing, and is a sensible checkpoint to merge before going back to making strategies for generating composite objects like DataArrays/Datasets work. - [x] Closes part of #6911 - [x] Tests added - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` | 2023-11-02T17:04:03Z | 2023-12-05T22:45:57Z | 2023-12-05T22:45:57Z | 2023-12-05T22:45:57Z | ab6a2553e142e1d6f90548bba66b7f8ead483dca | 0 | ea9016231eb3b60dad0c09762f8bec64de69b0d9 | 1f94829eeae48e82858bee946c8bba92dab6c754 | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/8404 | ||||
1622468303 | PR_kwDOAMm_X85gtObP | 8491 | closed | 0 | Warn on repeated dimension names during construction | TomNicholas 35968931 | <!-- Feel free to remove check-list items aren't relevant to your change --> - [x] Closes #2226 and #1499 by forbidding those situations (but we should leave #3731 open as the "official" place to discuss supporting repeated dimensions - [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`~~ | 2023-11-29T19:30:51Z | 2023-12-01T01:37:36Z | 2023-12-01T00:40:18Z | 2023-12-01T00:40:18Z | d46c5b66463dfb0fed7e105514dda07e7ef4b5ef | 0 | 2bd10afea413202dfba1058420f831b8e3a8abe2 | 8ea565deae1e7be3a1f48242f8394cb23d2ebe91 | MEMBER | { "enabled_by": { "login": "andersy005", "id": 13301940, "node_id": "MDQ6VXNlcjEzMzAxOTQw", "avatar_url": "https://avatars.githubusercontent.com/u/13301940?v=4", "gravatar_id": "", "url": "https://api.github.com/users/andersy005", "html_url": "https://github.com/andersy005", "followers_url": "https://api.github.com/users/andersy005/followers", "following_url": "https://api.github.com/users/andersy005/following{/other_user}", "gists_url": "https://api.github.com/users/andersy005/gists{/gist_id}", "starred_url": "https://api.github.com/users/andersy005/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/andersy005/subscriptions", "organizations_url": "https://api.github.com/users/andersy005/orgs", "repos_url": "https://api.github.com/users/andersy005/repos", "events_url": "https://api.github.com/users/andersy005/events{/privacy}", "received_events_url": "https://api.github.com/users/andersy005/received_events", "type": "User", "site_admin": false }, "merge_method": "squash", "commit_title": "Warn on repeated dimension names during construction (#8491)", "commit_message": "Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\r\n" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/8491 | |||
1626146371 | PR_kwDOAMm_X85g7QZD | 8500 | closed | 0 | Deprecate ds.dims returning dict | TomNicholas 35968931 | - [x] Closes first step of #8496, would require another PR later to actually change the return type. Also really resolves the second half of #921. - [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`~~ | 2023-12-01T18:29:28Z | 2024-04-28T20:04:00Z | 2023-12-06T17:52:24Z | 2023-12-06T17:52:24Z | 299abd6276a4c10a84cb8081fb157cabfba070f6 | 0 | ddbab7214622e382c2a4dd7a51721a5394500f3b | 3fc0ee5b4f7a03568115ced1b4ee8c95301529dc | 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": "Deprecate ds.dims returning dict (#8500)", "commit_message": "* raise FutureWarning\r\n\r\n* change some internal instances of ds.dims -> ds.sizes\r\n\r\n* improve clarity of which unexpected errors were raised\r\n\r\n* whatsnew\r\n\r\n* return a class which warns if treated like a Mapping\r\n\r\n* fix failing tests\r\n\r\n* avoid some warnings in the docs\r\n\r\n* silence warning caused by #8491\r\n\r\n* fix another warning\r\n\r\n* typing of .get\r\n\r\n* fix various uses of ds.dims in tests\r\n\r\n* fix some warnings\r\n\r\n* add test that FutureWarnings are correctly raised\r\n\r\n* more fixes to avoid warnings\r\n\r\n* update tests to avoid warnings\r\n\r\n* yet more fixes to avoid warnings\r\n\r\n* also warn in groupby.dims\r\n\r\n* change groupby tests to match\r\n\r\n* update whatsnew to include groupby deprecation\r\n\r\n* filter warning when we actually test ds.dims\r\n\r\n* remove error I used for debugging\r\n\r\n---------\r\n\r\nCo-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>" } |
xarray 13221727 | https://github.com/pydata/xarray/pull/8500 | |||
1631588815 | PR_kwDOAMm_X85hQBHP | 8525 | closed | 0 | Remove PR labeler bot | TomNicholas 35968931 | RIP - [x] Closes #8524 | 2023-12-06T02:31:56Z | 2023-12-06T02:45:46Z | 2023-12-06T02:45:41Z | 2023-12-06T02:45:41Z | ce1af977b1330fd8e60660777e864325c2b1f198 | 0 | f8de2d302e15901eea0433a7b2e911560cc825e6 | ab6a2553e142e1d6f90548bba66b7f8ead483dca | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/8525 | ||||
1658330289 | PR_kwDOAMm_X85i2Byx | 8573 | closed | 0 | ddof vs correction kwargs in std/var | TomNicholas 35968931 | - [x] Attempt to closes issue described in https://github.com/pydata/xarray/issues/8566#issuecomment-1870472827 - [x] Tests added - [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [ ] New functions/methods are listed in `api.rst` | 2023-12-27T18:10:52Z | 2024-04-04T16:46:55Z | 2024-04-04T16:46:55Z | 13221641d4d24400d9122837d99be2c6f4196b8f | 0 | d3aedd44fc4e9a522ed45ffa67afc397f4fe2a80 | 03ec3cb4d3fc97dd31b2269887ddc63a13ee518c | MEMBER | xarray 13221727 | https://github.com/pydata/xarray/pull/8573 |
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]);