issues
70 rows where user = 13301940 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: comments, draft, created_at (date), updated_at (date), closed_at (date)
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at ▲ | closed_at | author_association | active_lock_reason | draft | pull_request | body | reactions | performed_via_github_app | state_reason | repo | type |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2196272235 | PR_kwDOAMm_X85qKODl | 8856 | Migrate indexing and broadcasting logic to `xarray.namedarray` (Part 1) | andersy005 13301940 | open | 0 | 0 | 2024-03-19T23:51:46Z | 2024-05-03T17:08:11Z | MEMBER | 1 | pydata/xarray/pulls/8856 | This pull request is the first part of migrating the indexing and broadcasting logic from
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8856/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | ||||||
2203689075 | PR_kwDOAMm_X85qjXJq | 8870 | Enable explicit use of key tuples (instead of *Indexer objects) in indexing adapters and explicitly indexed arrays | andersy005 13301940 | closed | 0 | 1 | 2024-03-23T04:34:18Z | 2024-05-03T15:27:38Z | 2024-05-03T15:27:22Z | MEMBER | 0 | pydata/xarray/pulls/8870 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8870/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2212435865 | PR_kwDOAMm_X85rAwYu | 8885 | add `.oindex` and `.vindex` to `BackendArray` | andersy005 13301940 | closed | 0 | 8 | 2024-03-28T06:14:43Z | 2024-04-30T12:12:50Z | 2024-04-17T01:53:23Z | MEMBER | 0 | pydata/xarray/pulls/8885 | this PR builds towards the primary objective is to partially address
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8885/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2231711080 | PR_kwDOAMm_X85sCbN- | 8921 | Revert `.oindex` and `.vindex` additions in `_ElementwiseFunctionArray`, `NativeEndiannessArray`, and `BoolTypeArray` classes | andersy005 13301940 | open | 0 | 9 | 2024-04-08T17:11:08Z | 2024-04-30T06:49:46Z | MEMBER | 0 | pydata/xarray/pulls/8921 | As noted in https://github.com/pydata/xarray/issues/8909, the use of
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8921/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | ||||||
2203546866 | PR_kwDOAMm_X85qi4jp | 8869 | Handle .oindex and .vindex for the PandasMultiIndexingAdapter and PandasIndexingAdapter | andersy005 13301940 | closed | 0 | 0 | 2024-03-23T00:10:50Z | 2024-03-23T02:30:46Z | 2024-03-23T02:30:44Z | MEMBER | 0 | pydata/xarray/pulls/8869 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8869/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2196627659 | PR_kwDOAMm_X85qLGOs | 8857 | increase typing annotations coverage in `xarray/core/indexing.py` | andersy005 13301940 | closed | 0 | 0 | 2024-03-20T04:08:12Z | 2024-03-21T01:50:03Z | 2024-03-20T20:20:52Z | MEMBER | 0 | pydata/xarray/pulls/8857 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8857/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2189661150 | PR_kwDOAMm_X85pzxuX | 8845 | Implement setitem syntax for `.oindex` and `.vindex` properties | andersy005 13301940 | closed | 0 | 3 | 2024-03-16T00:40:46Z | 2024-03-19T21:01:45Z | 2024-03-19T03:29:58Z | MEMBER | 0 | pydata/xarray/pulls/8845 | this is another follow-up to previous Prs
, continuing the proposal outlined in plan for decoupling lazy indexing functionality from NamedArray Cc @maxrjones for visibility |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8845/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1958139851 | PR_kwDOAMm_X85dlQp4 | 8364 | Migrate from *Indexer objects to `.oindex` and `.vindex` on explicityIndexed array classes | andersy005 13301940 | closed | 0 | 1 | 2023-10-23T22:41:35Z | 2024-03-15T23:28:48Z | 2024-02-14T23:55:06Z | MEMBER | 1 | pydata/xarray/pulls/8364 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8364/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2157865512 | PR_kwDOAMm_X85oHSTV | 8790 | Expand use of `.oindex` and `.vindex` | andersy005 13301940 | closed | 0 | 4 | 2024-02-28T00:47:00Z | 2024-03-15T23:28:23Z | 2024-03-15T05:00:04Z | MEMBER | 0 | pydata/xarray/pulls/8790 | this is a follow-up to previous PRs (#8780 and #8750), continuing the efforts outlined in the plan for decoupling lazy indexing functionality from NamedArray. the primary focus of this PR is the removal of vectorized and orthogonal indexing logic from the
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8790/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2187291438 | PR_kwDOAMm_X85prlwg | 8835 | [skip-ci] Add dask-expr dependency to doc.yml | andersy005 13301940 | closed | 0 | 0 | 2024-03-14T21:23:24Z | 2024-03-14T21:44:18Z | 2024-03-14T21:44:14Z | MEMBER | 0 | pydata/xarray/pulls/8835 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8835/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2157624683 | I_kwDOAMm_X86Amr1r | 8788 | CI Failure in Xarray test suite post-Dask tokenization update | andersy005 13301940 | closed | 0 | crusaderky 6213168 | 1 | 2024-02-27T21:23:48Z | 2024-03-01T03:29:52Z | 2024-03-01T03:29:52Z | MEMBER | What is your issue?Recent changes in Dask's tokenization process (https://github.com/dask/dask/pull/10876) seem to have introduced unexpected behavior in Xarray's test suite. This has led to CI failures, specifically in tests related to tokenization. ```python ---------- coverage: platform linux, python 3.12.2-final-0 ----------- Coverage XML written to file coverage.xml =========================== short test summary info ============================ FAILED xarray/tests/test_dask.py::test_token_identical[obj0-<lambda>1] - AssertionError: assert 'bbd9679bdaf2...d3db65e29a72d' == '6352792990cf...e8004a9055314'
previously, the following code snippet would pass, verifying the consistency of tokenization in Xarray objects: ```python In [1]: import xarray as xr, numpy as np In [2]: def make_da(): ...: da = xr.DataArray( ...: np.ones((10, 20)), ...: dims=["x", "y"], ...: coords={"x": np.arange(10), "y": np.arange(100, 120)}, ...: name="a", ...: ).chunk({"x": 4, "y": 5}) ...: da.x.attrs["long_name"] = "x" ...: da.attrs["test"] = "test" ...: da.coords["c2"] = 0.5 ...: da.coords["ndcoord"] = da.x * 2 ...: da.coords["cxy"] = (da.x * da.y).chunk({"x": 4, "y": 5}) ...: ...: return da ...: In [3]: da = make_da() In [4]: import dask.base In [5]: assert dask.base.tokenize(da) == dask.base.tokenize(da.copy(deep=False)) In [6]: assert dask.base.tokenize(da) == dask.base.tokenize(da.copy(deep=True)) In [9]: dask.version Out[9]: '2023.3.0' ``` However, post-update in Dask version '2024.2.1', the same code fails: ```python In [55]: ...: def make_da(): ...: da = xr.DataArray( ...: np.ones((10, 20)), ...: dims=["x", "y"], ...: coords={"x": np.arange(10), "y": np.arange(100, 120)}, ...: name="a", ...: ).chunk({"x": 4, "y": 5}) ...: da.x.attrs["long_name"] = "x" ...: da.attrs["test"] = "test" ...: da.coords["c2"] = 0.5 ...: da.coords["ndcoord"] = da.x * 2 ...: da.coords["cxy"] = (da.x * da.y).chunk({"x": 4, "y": 5}) ...: ...: return da ...: In [56]: da = make_da() ``` ```python In [57]: assert dask.base.tokenize(da) == dask.base.tokenize(da.copy(deep=False)) AssertionError Traceback (most recent call last) Cell In[57], line 1 ----> 1 assert dask.base.tokenize(da) == dask.base.tokenize(da.copy(deep=False)) AssertionError: In [58]: dask.base.tokenize(da) Out[58]: 'bbd9679bdaf284c371cd3db65e29a72d' In [59]: dask.base.tokenize(da.copy(deep=False)) Out[59]: '6352792990cfe23adb7e8004a9055314' In [61]: dask.version Out[61]: '2024.2.1' ``` additionally, a deeper dive into
Cc @dcherian / @crusaderky for visibility |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8788/reactions", "total_count": 2, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 1 } |
completed | xarray 13221727 | issue | |||||
2151987948 | PR_kwDOAMm_X85nzdLf | 8780 | introduce `.vindex` property for Explicitly Indexed Arrays | andersy005 13301940 | closed | 0 | 0 | 2024-02-24T00:27:11Z | 2024-02-26T21:13:10Z | 2024-02-26T21:11:32Z | MEMBER | 0 | pydata/xarray/pulls/8780 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8780/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2135390562 | PR_kwDOAMm_X85m6nof | 8750 | refactor `indexing.py`: introduce `.oindex` for Explicitly Indexed Arrays | andersy005 13301940 | closed | 0 | 2 | 2024-02-14T23:53:53Z | 2024-02-23T23:34:44Z | 2024-02-23T23:34:43Z | MEMBER | 0 | pydata/xarray/pulls/8750 | this pull request represents an initial effort to refactor the indexing logic within
edit 1:
- to minimize the blast radius of this PR, i decided to just focus on TODO:
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8750/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2137484840 | PR_kwDOAMm_X85nBx-a | 8758 | refactor DaskIndexingAdapter `__getitem__` method | andersy005 13301940 | closed | 0 | 0 | 2024-02-15T21:31:33Z | 2024-02-15T22:50:51Z | 2024-02-15T22:44:17Z | MEMBER | 0 | pydata/xarray/pulls/8758 | this pull request removes the "unnecessary optimization" introduced in https://github.com/pydata/xarray/pull/3588 that attempts to rewrite the indexer key for
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8758/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1852260723 | PR_kwDOAMm_X85YA1UQ | 8073 | add design document for "named-array" | andersy005 13301940 | closed | 0 | 2 | 2023-08-15T23:02:36Z | 2024-02-12T22:22:33Z | 2023-08-17T16:22:48Z | MEMBER | 0 | pydata/xarray/pulls/8073 | This PR contains the design document for "named-array" a proposed new package aimed at providing a lightweight, efficient array structure with named dimensions. the main objective of named-array is to provide a more accessible version of Xarray's Variable class without the heavy dependencies like Pandas. ~~## proposed name~~ ~~The "Xarray-lite" name is a placeholder for the time being. we have considered two main candidates for the package's name: "narray" and "yarray." feedback on the proposed names or other suggestions is welcome.~~ Related issues: |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8073/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1918009494 | PR_kwDOAMm_X85beIFo | 8250 | copy the `dtypes` module to the `namedarray` package. | andersy005 13301940 | closed | 0 | 3 | 2023-09-28T17:52:50Z | 2024-02-12T22:22:24Z | 2023-10-04T18:14:24Z | MEMBER | 0 | pydata/xarray/pulls/8250 | this PR copies the These changes are part of the ongoing work in: - https://github.com/pydata/xarray/pull/8244
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8250/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2021745010 | PR_kwDOAMm_X85g8efA | 8505 | roll out the new/refreshed Xarray logo | andersy005 13301940 | closed | 0 | 0 | 2023-12-01T23:53:18Z | 2024-02-12T22:22:22Z | 2023-12-02T22:42:17Z | MEMBER | 0 | pydata/xarray/pulls/8505 | Cc @jhamman really like how good these look on both light/dark backgrounds:
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8505/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
2115621781 | I_kwDOAMm_X85-GdOV | 8696 | 🐛 compatibility issues with ArrayAPI and SparseAPI Protocols in `namedarray` | andersy005 13301940 | open | 0 | 2 | 2024-02-02T19:27:07Z | 2024-02-03T10:55:04Z | MEMBER | What happened?i'm experiencing compatibility issues when using What did you expect to happen?i expected that since COO arrays from the sparse library provide the necessary attributes and methods, they would pass the ```python In [56]: from xarray.namedarray._typing import _arrayfunction_or_api, _sparsearrayfunc ...: tion_or_api In [57]: import xarray as xr, sparse, numpy as np, sparse, pandas as pd ```
```python In [58]: x = np.random.random((10)) In [59]: x[x < 0.9] = 0 In [60]: s = sparse.COO(x) In [61]: isinstance(s, _arrayfunction_or_api) Out[61]: True In [62]: s Out[62]: <COO: shape=(10,), dtype=float64, nnz=0, fill_value=0.0> ```
```python In [63]: p = sparse.COO(np.array(['a', 'b'])) In [64]: p Out[64]: <COO: shape=(2,), dtype=<U1, nnz=2, fill_value=> In [65]: isinstance(s, _arrayfunction_or_api) Out[65]: True ``` - object dtype doesn't work ```python In [66]: q = sparse.COO(np.array(['a', 'b']).astype(object)) In [67]: isinstance(s, _arrayfunction_or_api) Out[67]: True In [68]: isinstance(q, _arrayfunction_or_api)TypeError Traceback (most recent call last) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:606, in _Elemwise._get_func_coords_data(self, mask) 605 try: --> 606 func_data = self.func(func_args, dtype=self.dtype, *self.kwargs) 607 except TypeError: TypeError: real() got an unexpected keyword argument 'dtype' During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:611, in _Elemwise._get_func_coords_data(self, mask) 610 out = np.empty(func_args[0].shape, dtype=self.dtype) --> 611 func_data = self.func(func_args, out=out, *self.kwargs) 612 except TypeError: TypeError: real() got an unexpected keyword argument 'out' During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) Cell In[68], line 1 ----> 1 isinstance(q, _arrayfunction_or_api) File ~/mambaforge/envs/xarray-tests/lib/python3.9/typing.py:1149, in _ProtocolMeta.instancecheck(cls, instance) 1147 return True 1148 if cls._is_protocol: -> 1149 if all(hasattr(instance, attr) and 1150 # All methods can be blocked by setting them to None. 1151 (not callable(getattr(cls, attr, None)) or 1152 getattr(instance, attr) is not None) 1153 for attr in _get_protocol_attrs(cls)): 1154 return True 1155 return super().instancecheck(instance) File ~/mambaforge/envs/xarray-tests/lib/python3.9/typing.py:1149, in <genexpr>(.0) 1147 return True 1148 if cls._is_protocol: -> 1149 if all(hasattr(instance, attr) and 1150 # All methods can be blocked by setting them to None. 1151 (not callable(getattr(cls, attr, None)) or 1152 getattr(instance, attr) is not None) 1153 for attr in _get_protocol_attrs(cls)): 1154 return True 1155 return super().instancecheck(instance) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_sparse_array.py:900, in SparseArray.real(self) 875 @property 876 def real(self): 877 """The real part of the array. 878 879 Examples (...) 898 numpy.real : NumPy equivalent function. 899 """ --> 900 return self.array_ufunc(np.real, "call", self) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_sparse_array.py:340, in SparseArray.array_ufunc(self, ufunc, method, inputs, kwargs) 337 inputs = tuple(reversed(inputs_transformed)) 339 if method == "call": --> 340 result = elemwise(ufunc, inputs, kwargs) 341 elif method == "reduce": 342 result = SparseArray._reduce(ufunc, *inputs, kwargs) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:49, in elemwise(func, args, kwargs)
12 def elemwise(func, args, kwargs):
13 """
14 Apply a function to any number of arguments.
15
(...)
46 it is necessary to convert Numpy arrays to :obj: File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:480, in _Elemwise.get_result(self) 477 if not any(mask): 478 continue --> 480 r = self._get_func_coords_data(mask) 482 if r is not None: 483 coords_list.append(r[0]) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:613, in _Elemwise._get_func_coords_data(self, mask) 611 func_data = self.func(func_args, out=out, self.kwargs) 612 except TypeError: --> 613 func_data = self.func(func_args, **self.kwargs).astype(self.dtype) 615 unmatched_mask = ~equivalent(func_data, self.fill_value) 617 if not unmatched_mask.any(): ValueError: invalid literal for int() with base 10: 'a' In [69]: q Out[69]: <COO: shape=(2,), dtype=object, nnz=2, fill_value=0> ``` the failing case appears to be a well know issue Minimal Complete Verifiable Example```Python In [69]: q Out[69]: <COO: shape=(2,), dtype=object, nnz=2, fill_value=0> In [70]: n = xr.NamedArray(data=q, dims=['x']) ``` MVCE confirmation
Relevant log output```Python In [71]: n.data Out[71]: <COO: shape=(2,), dtype=object, nnz=2, fill_value=0> In [72]: n Out[72]: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:606, in _Elemwise._get_func_coords_data(self, mask) 605 try: --> 606 func_data = self.func(func_args, dtype=self.dtype, *self.kwargs) 607 except TypeError: TypeError: real() got an unexpected keyword argument 'dtype' During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:611, in _Elemwise._get_func_coords_data(self, mask) 610 out = np.empty(func_args[0].shape, dtype=self.dtype) --> 611 func_data = self.func(func_args, out=out, *self.kwargs) 612 except TypeError: TypeError: real() got an unexpected keyword argument 'out' During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/IPython/core/formatters.py:708, in PlainTextFormatter.call(self, obj) 701 stream = StringIO() 702 printer = pretty.RepresentationPrinter(stream, self.verbose, 703 self.max_width, self.newline, 704 max_seq_length=self.max_seq_length, 705 singleton_pprinters=self.singleton_printers, 706 type_pprinters=self.type_printers, 707 deferred_pprinters=self.deferred_printers) --> 708 printer.pretty(obj) 709 printer.flush() 710 return stream.getvalue() File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/IPython/lib/pretty.py:410, in RepresentationPrinter.pretty(self, obj) 407 return meth(obj, self, cycle) 408 if cls is not object \ 409 and callable(cls.dict.get('repr')): --> 410 return _repr_pprint(obj, self, cycle) 412 return _default_pprint(obj, self, cycle) 413 finally: File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/IPython/lib/pretty.py:778, in repr_pprint(obj, p, cycle) 776 """A pprint that just redirects to the normal repr function.""" 777 # Find newlines and replace them with p.break() --> 778 output = repr(obj) 779 lines = output.splitlines() 780 with p.group(): File ~/devel/pydata/xarray/xarray/namedarray/core.py:987, in NamedArray.repr(self) 986 def repr(self) -> str: --> 987 return formatting.array_repr(self) File ~/mambaforge/envs/xarray-tests/lib/python3.9/reprlib.py:21, in recursive_repr.<locals>.decorating_function.<locals>.wrapper(self) 19 repr_running.add(key) 20 try: ---> 21 result = user_function(self) 22 finally: 23 repr_running.discard(key) File ~/devel/pydata/xarray/xarray/core/formatting.py:665, in array_repr(arr) 658 name_str = "" 660 if ( 661 isinstance(arr, Variable) 662 or _get_boolean_with_default("display_expand_data", default=True) 663 or isinstance(arr.variable._data, MemoryCachedArray) 664 ): --> 665 data_repr = short_data_repr(arr) 666 else: 667 data_repr = inline_variable_array_repr(arr.variable, OPTIONS["display_width"]) File ~/devel/pydata/xarray/xarray/core/formatting.py:633, in short_data_repr(array) 631 if isinstance(array, np.ndarray): 632 return short_array_repr(array) --> 633 elif isinstance(internal_data, _arrayfunction_or_api): 634 return limit_lines(repr(array.data), limit=40) 635 elif getattr(array, "_in_memory", None): File ~/mambaforge/envs/xarray-tests/lib/python3.9/typing.py:1149, in _ProtocolMeta.instancecheck(cls, instance) 1147 return True 1148 if cls._is_protocol: -> 1149 if all(hasattr(instance, attr) and 1150 # All methods can be blocked by setting them to None. 1151 (not callable(getattr(cls, attr, None)) or 1152 getattr(instance, attr) is not None) 1153 for attr in _get_protocol_attrs(cls)): 1154 return True 1155 return super().instancecheck(instance) File ~/mambaforge/envs/xarray-tests/lib/python3.9/typing.py:1149, in <genexpr>(.0) 1147 return True 1148 if cls._is_protocol: -> 1149 if all(hasattr(instance, attr) and 1150 # All methods can be blocked by setting them to None. 1151 (not callable(getattr(cls, attr, None)) or 1152 getattr(instance, attr) is not None) 1153 for attr in _get_protocol_attrs(cls)): 1154 return True 1155 return super().instancecheck(instance) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_sparse_array.py:900, in SparseArray.real(self) 875 @property 876 def real(self): 877 """The real part of the array. 878 879 Examples (...) 898 numpy.real : NumPy equivalent function. 899 """ --> 900 return self.array_ufunc(np.real, "call", self) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_sparse_array.py:340, in SparseArray.array_ufunc(self, ufunc, method, inputs, kwargs) 337 inputs = tuple(reversed(inputs_transformed)) 339 if method == "call": --> 340 result = elemwise(ufunc, inputs, kwargs) 341 elif method == "reduce": 342 result = SparseArray._reduce(ufunc, *inputs, kwargs) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:49, in elemwise(func, args, kwargs)
12 def elemwise(func, args, kwargs):
13 """
14 Apply a function to any number of arguments.
15
(...)
46 it is necessary to convert Numpy arrays to :obj: File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:480, in _Elemwise.get_result(self) 477 if not any(mask): 478 continue --> 480 r = self._get_func_coords_data(mask) 482 if r is not None: 483 coords_list.append(r[0]) File ~/mambaforge/envs/xarray-tests/lib/python3.9/site-packages/sparse/_umath.py:613, in _Elemwise._get_func_coords_data(self, mask) 611 func_data = self.func(func_args, out=out, self.kwargs) 612 except TypeError: --> 613 func_data = self.func(func_args, **self.kwargs).astype(self.dtype) 615 unmatched_mask = ~equivalent(func_data, self.fill_value) 617 if not unmatched_mask.any(): ValueError: invalid literal for int() with base 10: 'a' ``` Anything else we need to know?i was trying to replace instances of @Illviljan, are there any changes that could be made to both protocols without making them too complex? Environment
```python
INSTALLED VERSIONS
------------------
commit: 541049f45edeb518a767cb3b23fa53f6045aa508
python: 3.9.18 | packaged by conda-forge | (main, Dec 23 2023, 16:35:41)
[Clang 16.0.6 ]
python-bits: 64
OS: Darwin
OS-release: 23.2.0
machine: arm64
processor: arm
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: ('en_US', 'UTF-8')
libhdf5: 1.14.3
libnetcdf: 4.9.2
xarray: 2024.1.2.dev50+g78dec61f
pandas: 2.2.0
numpy: 1.26.3
scipy: 1.12.0
netCDF4: 1.6.5
pydap: installed
h5netcdf: 1.3.0
h5py: 3.10.0
Nio: None
zarr: 2.16.1
cftime: 1.6.3
nc_time_axis: 1.4.1
iris: 3.7.0
bottleneck: 1.3.7
dask: 2024.1.1
distributed: 2024.1.1
matplotlib: 3.8.2
cartopy: 0.22.0
seaborn: 0.13.2
numbagg: 0.7.1
fsspec: 2023.12.2
cupy: None
pint: 0.23
sparse: 0.15.1
flox: 0.9.0
numpy_groupies: 0.9.22
setuptools: 67.7.2
pip: 23.3.2
conda: None
pytest: 8.0.0
mypy: 1.8.0
IPython: 8.14.0
sphinx: None
```
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8696/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | issue | ||||||||
2106570846 | I_kwDOAMm_X859j7he | 8681 | CI Failures Associated with Pytest v8.0.0 Release | andersy005 13301940 | closed | 0 | 2 | 2024-01-29T22:45:26Z | 2024-01-31T16:53:46Z | 2024-01-31T16:53:46Z | MEMBER | What is your issue?A recent release of pytest (v8.0.0) appears to have broken our CI.
Strangely, the issue doesn't seem to occur when using previous versions (e.g.
i recreated the environment and successfully ran tests locally. the CI failures appear to be connected to the latest release of pytest. i haven't had a chance to do an in-depth exploration of the changes from pytest which could be influencing this disruption. so, i wanted to open an issue to track what is going on. in the meantime, i'm going to pin pytest to an earlier version. any insights, especially from those familiar with changes in the pytest v8.0.0 update, are warmly welcomed. |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8681/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | xarray 13221727 | issue | ||||||
2106574555 | PR_kwDOAMm_X85lYkg9 | 8682 | Fix CI: temporary pin pytest version to 7.4.* | andersy005 13301940 | closed | 0 | 1 | 2024-01-29T22:48:56Z | 2024-01-29T23:19:53Z | 2024-01-29T23:09:44Z | MEMBER | 0 | pydata/xarray/pulls/8682 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8682/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1964505426 | PR_kwDOAMm_X85d61au | 8380 | [namedarray] split `.set_dims()` into `.expand_dims()` and `broadcast_to()` | andersy005 13301940 | closed | 0 | 17 | 2023-10-26T23:13:29Z | 2024-01-29T19:25:58Z | 2024-01-29T19:13:28Z | MEMBER | 0 | pydata/xarray/pulls/8380 | this is the initial phase of our plan to split the |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8380/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
775502974 | MDU6SXNzdWU3NzU1MDI5NzQ= | 4738 | ENH: Compute hash of xarray objects | andersy005 13301940 | open | 0 | 11 | 2020-12-28T17:18:57Z | 2023-12-06T18:24:59Z | MEMBER | Is your feature request related to a problem? Please describe. I'm working on some caching/data-provenance functionality for xarray objects, and I realized that there's no standard/efficient way of computing hashes for xarray objects. Describe the solution you'd like It would be useful to have a configurable, reliable/standard ```python In [16]: import zarr In [17]: z = zarr.zeros(shape=(10000, 10000), chunks=(1000, 1000)) In [18]: z.hexdigest() # uses sha1 by default for speed Out[18]: '7162d416d26a68063b66ed1f30e0a866e4abed60' In [20]: z.hexdigest(hashname='sha256') Out[20]: '46fc6e52fc1384e37cead747075f55201667dd539e4e72d0f372eb45abdcb2aa' ``` I'm thinking that an xarray's built-in hashing mechanism would provide a more reliable way to treat metadata such as global attributes, encoding, etc... during the hash computation... Describe alternatives you've considered So far, I am using joblib's default hasher: ```python In [1]: import joblib In [2]: import xarray as xr In [3]: ds = xr.tutorial.open_dataset('rasm') In [5]: joblib.hash(ds, hash_name='sha1') Out[5]: '3e5e3f56daf81e9e04a94a3dff9fdca9638c36cf' In [8]: ds.attrs = {} In [9]: joblib.hash(ds, hash_name='sha1') Out[9]: 'daab25fe735657e76514040608fadc67067d90a0' ``` Additional context Add any other context about the feature request here. |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4738/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | issue | ||||||||
2024719599 | PR_kwDOAMm_X85hGcWv | 8519 | [skip-ci] fix RTD docs build | andersy005 13301940 | closed | 0 | 1 | 2023-12-04T20:56:34Z | 2023-12-04T21:08:49Z | 2023-12-04T21:04:47Z | MEMBER | 0 | pydata/xarray/pulls/8519 | { "url": "https://api.github.com/repos/pydata/xarray/issues/8519/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | ||||||
768981497 | MDExOlB1bGxSZXF1ZXN0NTQxMjMxNjc0 | 4700 | Raise an informative error message when object array has mixed types | andersy005 13301940 | closed | 0 | 10 | 2020-12-16T15:07:21Z | 2023-11-28T22:19:02Z | 2023-11-28T22:19:00Z | MEMBER | 0 | pydata/xarray/pulls/4700 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4700/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1959903578 | PR_kwDOAMm_X85drMmv | 8369 | fix `NamedArray.imag` and `NamedArray.real` typing info | andersy005 13301940 | closed | 0 | 4 | 2023-10-24T19:06:48Z | 2023-10-25T19:17:55Z | 2023-10-25T19:17:53Z | MEMBER | 0 | pydata/xarray/pulls/8369 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8369/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1958381131 | PR_kwDOAMm_X85dmDe9 | 8365 | add `.imag` and `.real` properties to `NamedArray` | andersy005 13301940 | closed | 0 | 1 | 2023-10-24T02:55:30Z | 2023-10-24T18:19:12Z | 2023-10-24T10:53:58Z | MEMBER | 0 | pydata/xarray/pulls/8365 | { "url": "https://api.github.com/repos/pydata/xarray/issues/8365/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | ||||||
1916603412 | PR_kwDOAMm_X85bZS7E | 8244 | Migrate VariableArithmetic to NamedArrayArithmetic | andersy005 13301940 | open | 0 | 6 | 2023-09-28T02:29:15Z | 2023-10-11T17:03:02Z | MEMBER | 1 | pydata/xarray/pulls/8244 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8244/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | ||||||
1854145928 | PR_kwDOAMm_X85YHMlg | 8075 | initial refactor for NamedArray | andersy005 13301940 | closed | 0 | 17 | 2023-08-17T02:37:37Z | 2023-09-27T15:35:13Z | 2023-09-27T15:23:21Z | MEMBER | 0 | pydata/xarray/pulls/8075 | this pull request introduces the initial prototype for
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8075/reactions", "total_count": 3, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 3, "eyes": 0 } |
xarray 13221727 | pull | |||||
1903416932 | I_kwDOAMm_X85xc9Zk | 8210 | Inconsistent Type Hinting for dims Parameter in xarray Methods | andersy005 13301940 | open | 0 | 7 | 2023-09-19T17:15:43Z | 2023-09-20T15:03:45Z | MEMBER |
I want Then we can easily go through our xarray methods and easily replace
But it wouldn't be easy in xarray because we use Another idea is to try and make a HashableExcludingNone:
Another idea is drop the idea of Hashable and just allow a few common ones that are used:
No easy paths, and trying to be backwards compatible is very demotivating. Originally posted by @Illviljan in https://github.com/pydata/xarray/pull/8075#discussion_r1330437962 |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/8210/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | issue | ||||||||
1251404616 | PR_kwDOAMm_X844ndTA | 6650 | import `cleanup` fixture from `distributed` | andersy005 13301940 | closed | 0 | 1 | 2022-05-28T01:39:42Z | 2023-06-16T22:52:29Z | 2022-05-29T13:10:52Z | MEMBER | 0 | pydata/xarray/pulls/6650 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/6650/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
870619014 | MDExOlB1bGxSZXF1ZXN0NjI1Nzg2MTY2 | 5234 | Code cleanup | andersy005 13301940 | closed | 0 | 14 | 2021-04-29T05:16:02Z | 2023-06-16T22:52:27Z | 2021-05-13T16:37:15Z | MEMBER | 0 | pydata/xarray/pulls/5234 | This PR introduces small changes to enhance code maintainability...
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5234/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
856020853 | MDExOlB1bGxSZXF1ZXN0NjEzNjY3MDQx | 5142 | Trigger CI on push or pull_request but not both | andersy005 13301940 | closed | 0 | 2 | 2021-04-12T14:12:29Z | 2023-06-16T22:52:19Z | 2022-01-20T01:51:10Z | MEMBER | 0 | pydata/xarray/pulls/5142 |
Here's a snippet of how this looks like when a pull request is created on the same main repository: Cc @keewis |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5142/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
539394615 | MDExOlB1bGxSZXF1ZXN0MzU0Mzc5Nzk2 | 3640 | Add entrypoint for plotting backends | andersy005 13301940 | closed | 0 | 14 | 2019-12-18T01:11:08Z | 2023-06-16T22:52:17Z | 2021-09-26T21:53:42Z | MEMBER | 1 | pydata/xarray/pulls/3640 | Libraries, including Xarray and the third-party library don't need to talk to each other directly to register a backend. They talk through For instance,
and xarray users should be able to achieve what @jsignell proposed in #3553:
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/3640/reactions", "total_count": 2, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 2, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1755311785 | PR_kwDOAMm_X85S6P0H | 7917 | Ensure dtype of reindex result matches dtype of the original DataArray | andersy005 13301940 | closed | 0 | 0 | 2023-06-13T16:55:38Z | 2023-06-16T22:51:46Z | 2023-06-16T03:10:23Z | MEMBER | 0 | pydata/xarray/pulls/7917 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/7917/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1380118553 | PR_kwDOAMm_X84_T6Nz | 7061 | Remove team page from docs and link to https://xarray.dev/team | andersy005 13301940 | closed | 0 | 1 | 2022-09-20T23:51:19Z | 2022-10-06T18:08:30Z | 2022-10-06T18:08:28Z | MEMBER | 0 | pydata/xarray/pulls/7061 | This PR removes the existing team page from the docs and links to the newly created https://xarray.dev/team on the landing page |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/7061/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1330592136 | PR_kwDOAMm_X848v_oP | 6885 | Fix documentation builds | andersy005 13301940 | closed | 0 | 0 | 2022-08-06T00:39:38Z | 2022-08-06T00:56:01Z | 2022-08-06T00:55:52Z | MEMBER | 0 | pydata/xarray/pulls/6885 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/6885/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1254335146 | PR_kwDOAMm_X844w-ab | 6655 | Fix notebooks' HTML links | andersy005 13301940 | closed | 0 | 0 | 2022-05-31T19:33:45Z | 2022-05-31T19:52:45Z | 2022-05-31T19:52:43Z | MEMBER | 0 | pydata/xarray/pulls/6655 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/6655/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
978356586 | MDExOlB1bGxSZXF1ZXN0NzE4OTU4Mzc1 | 5734 | Enable `flox` in `GroupBy` and `resample` | andersy005 13301940 | closed | 0 | 25 | 2021-08-24T18:09:28Z | 2022-05-15T03:33:49Z | 2022-05-15T02:38:29Z | MEMBER | 0 | pydata/xarray/pulls/5734 | This PR supersedes https://github.com/pydata/xarray/pull/4540. This is still a very rough draft :)
TODO: - [x] flox vs legacy tests with nans - [x] test passing flox-specific kwargs like engine and method. |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5734/reactions", "total_count": 8, "+1": 0, "-1": 0, "laugh": 0, "hooray": 8, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
576502871 | MDU6SXNzdWU1NzY1MDI4NzE= | 3834 | encode_cf_datetime() casts dask arrays to NumPy arrays | andersy005 13301940 | open | 0 | 2 | 2020-03-05T20:11:37Z | 2022-04-09T03:10:49Z | MEMBER | Currently, when ```python In [46]: import numpy as np In [47]: import xarray as xr In [48]: import pandas as pd In [49]: times = pd.date_range("2000-01-01", "2001-01-01", periods=11) In [50]: time_bounds = np.vstack((times[:-1], times[1:])).T In [51]: arr = xr.DataArray(time_bounds).chunk() In [52]: arr In [53]: xr.coding.times.encode_cf_datetime(arr) ``` Cc @jhamman |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/3834/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | issue | ||||||||
653442225 | MDU6SXNzdWU2NTM0NDIyMjU= | 4209 | `xr.save_mfdataset()` doesn't honor `compute=False` argument | andersy005 13301940 | open | 0 | 4 | 2020-07-08T16:40:11Z | 2022-04-09T01:25:56Z | MEMBER | What happened: While using What you expected to happen: I expect the datasets to be written when I explicitly call Minimal Complete Verifiable Example: ```python In [2]: import xarray as xr In [3]: ds = xr.tutorial.open_dataset('rasm', chunks={}) In [4]: ds Out[4]: <xarray.Dataset> Dimensions: (time: 36, x: 275, y: 205) Coordinates: * time (time) object 1980-09-16 12:00:00 ... 1983-08-17 00:00:00 xc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray> yc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray> Dimensions without coordinates: x, y Data variables: Tair (time, y, x) float64 dask.array<chunksize=(36, 205, 275), meta=np.ndarray> Attributes: title: /workspace/jhamman/processed/R1002RBRxaaa01a/l... institution: U.W. source: RACM R1002RBRxaaa01a output_frequency: daily output_mode: averaged convention: CF-1.4 references: Based on the initial model of Liang et al., 19... comment: Output from the Variable Infiltration Capacity... nco_openmp_thread_number: 1 NCO: "4.6.0" history: Tue Dec 27 14:15:22 2016: ncatted -a dimension... In [5]: path = "test.nc" In [7]: ls -ltrh test.nc ls: cannot access test.nc: No such file or directory In [8]: tasks = xr.save_mfdataset(datasets=[ds], paths=[path], compute=False) In [9]: tasks Out[9]: Delayed('list-aa0b52e0-e909-4e65-849f-74526d137542') In [10]: ls -ltrh test.nc -rw-r--r-- 1 abanihi ncar 14K Jul 8 10:29 test.nc ``` Anything else we need to know?: Environment: Output of <tt>xr.show_versions()</tt>```python INSTALLED VERSIONS ------------------ commit: None python: 3.7.6 | packaged by conda-forge | (default, Jun 1 2020, 18:57:50) [GCC 7.5.0] python-bits: 64 OS: Linux OS-release: 3.10.0-693.21.1.el7.x86_64 machine: x86_64 processor: x86_64 byteorder: little LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 LOCALE: en_US.UTF-8 libhdf5: 1.10.5 libnetcdf: 4.7.4 xarray: 0.15.1 pandas: 0.25.3 numpy: 1.18.5 scipy: 1.5.0 netCDF4: 1.5.3 pydap: None h5netcdf: None h5py: 2.10.0 Nio: None zarr: None cftime: 1.2.0 nc_time_axis: 1.2.0 PseudoNetCDF: None rasterio: None cfgrib: None iris: None bottleneck: None dask: 2.20.0 distributed: 2.20.0 matplotlib: 3.2.1 cartopy: None seaborn: None numbagg: None setuptools: 49.1.0.post20200704 pip: 20.1.1 conda: None pytest: None IPython: 7.16.1 sphinx: None ``` |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4209/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | issue | ||||||||
1035640211 | I_kwDOAMm_X849up2T | 5898 | Update docs for Dataset `reduce` methods to indicate that non-numeric data variables are dropped | andersy005 13301940 | closed | 0 | 2 | 2021-10-25T22:48:49Z | 2022-03-12T08:17:48Z | 2022-03-12T08:17:48Z | MEMBER |
```python In [47]: import xarray as xr In [48]: import numpy as np, pandas as pd In [50]: ds['foo'] = xr.DataArray(np.arange(6).reshape(2, 3), dims=['x', 'y']) In [53]: ds['bar'] = xr.DataArray(pd.date_range(start='2000', periods=6).values.reshape(2, 3), dims=['x', 'y']) In [54]: ds Out[54]: <xarray.Dataset> Dimensions: (x: 2, y: 3) Dimensions without coordinates: x, y Data variables: foo (x, y) int64 0 1 2 3 4 5 bar (x, y) datetime64[ns] 2000-01-01 2000-01-02 ... 2000-01-06 ``` ```python In [55]: ds.mean('x') Out[55]: <xarray.Dataset> Dimensions: (y: 3) Dimensions without coordinates: y Data variables: foo (y) float64 1.5 2.5 3.5 In [56]: ds.bar.mean('x') Out[56]: <xarray.DataArray 'bar' (y: 3)> array(['2000-01-02T12:00:00.000000000', '2000-01-03T12:00:00.000000000', '2000-01-04T12:00:00.000000000'], dtype='datetime64[ns]') Dimensions without coordinates: y ``` |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5898/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | xarray 13221727 | issue | ||||||
1155507950 | PR_kwDOAMm_X84zvNBA | 6314 | Add General issue template | andersy005 13301940 | closed | 0 | 2 | 2022-03-01T15:54:16Z | 2022-03-02T17:14:40Z | 2022-03-02T13:56:25Z | MEMBER | 0 | pydata/xarray/pulls/6314 | Cc @benbovy & @max-sixty |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/6314/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1155512531 | PR_kwDOAMm_X84zvN8f | 6315 | Disable CI runs on forks | andersy005 13301940 | closed | 0 | 0 | 2022-03-01T15:58:29Z | 2022-03-01T16:58:28Z | 2022-03-01T16:57:43Z | MEMBER | 0 | pydata/xarray/pulls/6315 | This PR ensures all CI workflows are only enabled on the main repository. A few workflows were still being triggered on forks. |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/6315/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1120237582 | PR_kwDOAMm_X84x4Smo | 6224 | Verify built dist/wheel | andersy005 13301940 | closed | 0 | 0 | 2022-02-01T05:02:42Z | 2022-02-03T15:44:41Z | 2022-02-03T15:41:17Z | MEMBER | 0 | pydata/xarray/pulls/6224 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/6224/reactions", "total_count": 3, "+1": 3, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1090118252 | PR_kwDOAMm_X84wWQZg | 6119 | Replace markdown issue templates with issue forms | andersy005 13301940 | closed | 0 | 2 | 2021-12-28T20:41:40Z | 2021-12-29T16:48:33Z | 2021-12-29T16:47:48Z | MEMBER | 0 | pydata/xarray/pulls/6119 |
Preview: |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/6119/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
1090121529 | PR_kwDOAMm_X84wWREQ | 6120 | Remove pre-commit GHA workflow | andersy005 13301940 | closed | 0 | 1 | 2021-12-28T20:50:09Z | 2021-12-29T16:45:03Z | 2021-12-29T16:28:45Z | MEMBER | 0 | pydata/xarray/pulls/6120 | We've been using pre-commit for the last month or so, and it seems to be working fine. This PR removes the redundant pre-commit hooks GHA workflow.
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/6120/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
877830157 | MDExOlB1bGxSZXF1ZXN0NjMxNzIyNjgy | 5273 | Release-workflow: Bug fix | andersy005 13301940 | closed | 0 | 3 | 2021-05-06T18:21:24Z | 2021-05-06T18:41:19Z | 2021-05-06T18:41:17Z | MEMBER | 0 | pydata/xarray/pulls/5273 | { "url": "https://api.github.com/repos/pydata/xarray/issues/5273/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | ||||||
877586869 | MDExOlB1bGxSZXF1ZXN0NjMxNTEyOTA1 | 5267 | Disable workflows on forks | andersy005 13301940 | closed | 0 | 2 | 2021-05-06T14:55:05Z | 2021-05-06T16:17:26Z | 2021-05-06T16:17:25Z | MEMBER | 0 | pydata/xarray/pulls/5267 | Currently, the CI runs both on a user's fork and |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5267/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
877605250 | MDExOlB1bGxSZXF1ZXN0NjMxNTI3OTEw | 5268 | Remove push event trigger for the release workflow | andersy005 13301940 | closed | 0 | 1 | 2021-05-06T15:13:08Z | 2021-05-06T15:14:20Z | 2021-05-06T15:14:13Z | MEMBER | 0 | pydata/xarray/pulls/5268 | It turns out that pushes on main branch result in an invalid package version. To address this issue, I am disabling the Cc @keewis ```html Uploading xarray-0.17.1.dev108+gf5e4fd5f-py3-none-any.whl 0%| | 0.00/796k [00:00<?, ?B/s] 73%|███████▎ | 584k/796k [00:00<00:00, 3.39MB/s] 100%|██████████| 796k/796k [00:00<00:00, 1.52MB/s] Content received from server: <html> <head> <title>400 '0.17.1.dev108+gf5e4fd5f' is an invalid value for Version. Error: Can't use PEP 440 local versions. See packaging.python.org/specifications/core-metadata for more information.</title> </head> <body>400 '0.17.1.dev108+gf5e4fd5f' is an invalid value for Version. Error: Can't use PEP 440 local versions. See packaging.python.org/specifications/core-metadata for more information.The server could not comply with the request since it is either malformed or otherwise incorrect.'0.17.1.dev108+gf5e4fd5f' is an invalid value for Version. Error: Can't use PEP 440 local versions. See packaging.python.org/specifications/core-metadata for more information. </body> </html> HTTPError: 400 Bad Request from test.pypi.org/legacy '0.17.1.dev108+gf5e4fd5f' is an invalid value for Version. Error: Can't use PEP 440 local versions. See packaging.python.org/specifications/core-metadata for more information. ``` |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5268/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
873842812 | MDExOlB1bGxSZXF1ZXN0NjI4NTQ0NTY3 | 5244 | Add GitHub action for publishing artifacts to PyPI | andersy005 13301940 | closed | 0 | 15 | 2021-05-02T05:18:42Z | 2021-05-06T15:00:32Z | 2021-05-06T14:46:10Z | MEMBER | 0 | pydata/xarray/pulls/5244 | This addresses https://github.com/pydata/xarray/issues/5232#issuecomment-830242266, and will (hopefully) reduce the time it takes to cut a new release.
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5244/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
873831430 | MDExOlB1bGxSZXF1ZXN0NjI4NTM2NzE0 | 5243 | Parametrize test for __setitem__ (for dask array) | andersy005 13301940 | closed | 0 | 4 | 2021-05-02T04:01:17Z | 2021-05-06T12:49:49Z | 2021-05-06T07:25:21Z | MEMBER | 0 | pydata/xarray/pulls/5243 | Follow up PR for #5174
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5243/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
874231291 | MDExOlB1bGxSZXF1ZXN0NjI4ODMyOTM3 | 5250 | Fix bulleted list indentation in docstrings | andersy005 13301940 | closed | 0 | 10 | 2021-05-03T05:10:53Z | 2021-05-04T18:09:00Z | 2021-05-03T23:23:49Z | MEMBER | 0 | pydata/xarray/pulls/5250 |
As I understand it, the issue described in #5248 is caused by bad indentation... With this PR, we get the following: @max-sixty, let me know if there are other instances that need to be fixed as part of this PR.... |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5250/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
856035141 | MDExOlB1bGxSZXF1ZXN0NjEzNjc5MDU5 | 5143 | Add dependabot config (for updating github actions) | andersy005 13301940 | closed | 0 | 0 | 2021-04-12T14:27:04Z | 2021-04-14T14:39:43Z | 2021-04-14T14:39:42Z | MEMBER | 0 | pydata/xarray/pulls/5143 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5143/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
832768296 | MDExOlB1bGxSZXF1ZXN0NTkzODc1MDU4 | 5039 | Fix sticky sidebar responsiveness on small screens | andersy005 13301940 | closed | 0 | 2 | 2021-03-16T12:53:32Z | 2021-03-17T23:00:47Z | 2021-03-17T23:00:46Z | MEMBER | 0 | pydata/xarray/pulls/5039 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5039/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
790677360 | MDExOlB1bGxSZXF1ZXN0NTU4ODUwMjUy | 4835 | 📚 New theme & rearrangement of the docs | andersy005 13301940 | closed | 0 | 25 | 2021-01-21T04:17:33Z | 2021-03-15T23:20:53Z | 2021-03-15T23:20:51Z | MEMBER | 0 | pydata/xarray/pulls/4835 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4835/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
830167079 | MDExOlB1bGxSZXF1ZXN0NTkxNzIxMTIx | 5025 | GHA for automatically canceling previous CI runs | andersy005 13301940 | closed | 0 | 0 | 2021-03-12T14:24:27Z | 2021-03-15T15:06:29Z | 2021-03-15T15:06:27Z | MEMBER | 0 | pydata/xarray/pulls/5025 | The
Cc @keewis |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/5025/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
773945564 | MDExOlB1bGxSZXF1ZXN0NTQ0OTQ5MTU3 | 4730 | Migrate CI from azure pipelines to GitHub Actions | andersy005 13301940 | closed | 0 | 22 | 2020-12-23T17:22:49Z | 2021-02-25T22:03:22Z | 2021-01-11T12:11:04Z | MEMBER | 0 | pydata/xarray/pulls/4730 | As discussed in today's dev meeting, it'd be convenient to migrate all our CIs from azure pipelines to GitHub Actions.
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4730/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
773934304 | MDExOlB1bGxSZXF1ZXN0NTQ0OTM5ODY5 | 4729 | Trigger upstream CI on cron schedule (by default) | andersy005 13301940 | closed | 0 | 7 | 2020-12-23T17:00:24Z | 2021-01-06T22:17:13Z | 2021-01-06T22:17:11Z | MEMBER | 0 | pydata/xarray/pulls/4729 | As discussed in today's dev meeting, this PR modifies the
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4729/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
767049213 | MDExOlB1bGxSZXF1ZXN0NTM5ODkzMTI5 | 4695 | Remove dictionary unpacking when using `.loc` to avoid collision with `.sel` parameters | andersy005 13301940 | closed | 0 | 2 | 2020-12-15T00:30:04Z | 2020-12-16T14:50:34Z | 2020-12-16T14:50:32Z | MEMBER | 0 | pydata/xarray/pulls/4695 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4695/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
749116752 | MDExOlB1bGxSZXF1ZXN0NTI1OTg3NDE1 | 4604 | Amend upstream-dev GitHub action + Bug fixes | andersy005 13301940 | closed | 0 | 5 | 2020-11-23T20:51:45Z | 2020-12-05T00:52:48Z | 2020-12-05T00:30:11Z | MEMBER | 0 | pydata/xarray/pulls/4604 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4604/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
731813879 | MDU6SXNzdWU3MzE4MTM4Nzk= | 4549 | [Proposal] Migrate general discussions from the xarray gitter room to GitHub Discussions | andersy005 13301940 | closed | 0 | 5 | 2020-10-28T21:48:29Z | 2020-11-25T22:28:41Z | 2020-11-25T22:28:41Z | MEMBER | Currently, xarray has a room on Gitter: https://gitter.im/pydata/xarray. This room works fine for discussions outside of the codebase. However, Gitter has a few disadvantages:
A few months ago, GitHub announced GitHub discussions which is meant to serve as a forum for discussions outside of the codebase. I am of the opinion that GitHub discussions is a better alternative to Gitter. I am wondering if xarray folks would be interested in enabling GitHub discussion on this repo, and migrating general discussions from Gitter to GitHub discussions? GitHub Discussions is still in beta, but projects can request early access here Here is a list of a few projects with beta access: |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4549/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | xarray 13221727 | issue | ||||||
741791697 | MDExOlB1bGxSZXF1ZXN0NTIwMDQ0MDYx | 4578 | Direct users to GitHub discussions page for usage questions | andersy005 13301940 | closed | 0 | 3 | 2020-11-12T17:34:05Z | 2020-11-25T17:43:47Z | 2020-11-25T16:09:08Z | MEMBER | 0 | pydata/xarray/pulls/4578 | Towards https://github.com/pydata/xarray/issues/4549
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4578/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
742845971 | MDExOlB1bGxSZXF1ZXN0NTIwODk3NDY1 | 4583 | Add GH action for running tests against upstream dev | andersy005 13301940 | closed | 0 | 7 | 2020-11-13T23:19:36Z | 2020-11-22T04:37:52Z | 2020-11-22T02:37:14Z | MEMBER | 0 | pydata/xarray/pulls/4583 | This GitHub action will run tests against the upstream dependencies. When the tests fail, the GH action will create an issue (with "CI" label). The body of the created issue includes:
Here's a couple screenshots from a toy repository:
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4583/reactions", "total_count": 5, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 5, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
726020233 | MDU6SXNzdWU3MjYwMjAyMzM= | 4527 | Refactor `xr.save_mfdataset()` to automatically save an xarray object backed by dask arrays to multiple files | andersy005 13301940 | open | 0 | 2 | 2020-10-20T23:48:21Z | 2020-10-22T17:06:46Z | MEMBER | Is your feature request related to a problem? Please describe. Currently, when a user wants to write multiple netCDF files in parallel with xarray and dask, they can take full advantage of A few months ago, I wrote a blog post showing how to save an xarray dataset backed by dask into multiple netCDF files, and since then I've been meaning to request a new feature to make this process convenient for users. Describe the solution you'd like Would it be useful to actually refactor the existing ```python ds.save_mfdataset(prefix="directory/my-dataset") orxr.save_mfdataset(ds, prefix="directoy/my-dataset") ``` ----> ```bash directory/my-dataset-chunk-1.nc directory/my-dataset-chunk-2.nc directory/my-dataset-chunk-3.nc .... ``` |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4527/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | issue | ||||||||
679445732 | MDU6SXNzdWU2Nzk0NDU3MzI= | 4341 | Computing averaged time produces wrong/incorrect time values | andersy005 13301940 | closed | 0 | 3 | 2020-08-14T23:15:01Z | 2020-08-15T20:05:23Z | 2020-08-15T20:05:23Z | MEMBER | What happened: While computing averaged time using time_bounds via What you expected to happen: Correct averaged time values Minimal Complete Verifiable Example: ```python In [1]: import xarray as xr In [2]: import numpy as np In [3]: dates = xr.cftime_range(start='0400-01', end='2101-01', freq='120Y', calendar='noleap') In [4]: bounds = xr.DataArray(np.vstack([dates[:-1], dates[1:]]).T, dims=['time', 'd2']) In [5]: bounds In [6]: bounds.mean('d2') ``` Anything else we need to know?: Environment: Output of <tt>xr.show_versions()</tt>```python INSTALLED VERSIONS ------------------ commit: None python: 3.7.8 | packaged by conda-forge | (default, Jul 23 2020, 03:54:19) [GCC 7.5.0] python-bits: 64 OS: Linux OS-release: 3.10.0-1127.13.1.el7.x86_64 machine: x86_64 processor: x86_64 byteorder: little LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 LOCALE: en_US.UTF-8 libhdf5: 1.10.6 libnetcdf: 4.7.4 xarray: 0.16.0 pandas: 1.1.0 numpy: 1.19.1 scipy: 1.5.2 netCDF4: 1.5.4 pydap: None h5netcdf: None h5py: 2.10.0 Nio: None zarr: 2.4.0 cftime: 1.2.1 nc_time_axis: 1.2.0 PseudoNetCDF: None rasterio: None cfgrib: None iris: None bottleneck: None dask: 2.22.0 distributed: 2.22.0 matplotlib: 3.3.0 cartopy: 0.18.0 seaborn: 0.10.1 numbagg: None pint: None setuptools: 49.2.1.post20200802 pip: 20.2.1 conda: None pytest: None IPython: 7.17.0 sphinx: None ``` |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/4341/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | xarray 13221727 | issue | ||||||
536694911 | MDExOlB1bGxSZXF1ZXN0MzUyMTgyMTQ1 | 3612 | Extend DatetimeAccessor properties and support `.dt` accessor for Timedelta | andersy005 13301940 | closed | 0 | 2 | 2019-12-12T00:54:18Z | 2019-12-18T18:03:13Z | 2019-12-18T15:27:31Z | MEMBER | 0 | pydata/xarray/pulls/3612 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/3612/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
520306672 | MDExOlB1bGxSZXF1ZXN0MzM4OTE5MTg1 | 3502 | Harmonize `FillValue` and `missing_value` during encoding and decoding steps | andersy005 13301940 | closed | 0 | 7 | 2019-11-09T01:07:25Z | 2019-12-11T20:09:15Z | 2019-11-14T01:22:51Z | MEMBER | 0 | pydata/xarray/pulls/3502 | As pointed out in https://github.com/jbusecke/cmip6_preprocessing/issues/5, xarray appears to be very strict during the encoding and decoding steps even when there are (harmless) discrepancies between ```python In [74]: from xarray.coding import variables In [75]: import numpy as np In [76]: import xarray as xr In [77]: original = xr.Variable( ...: ("x",), ...: [0.0, -1.0, 1.0], ...: encoding={"_FillValue": np.float32(1e20), "missing_value": np.float64(1e20)}, ...: ) In [78]: coder = variables.CFMaskCoder() In [79]: encoded = coder.encode(original)ValueError Traceback (most recent call last) <ipython-input-79-9fbc3632e28b> in <module> ----> 1 encoded = coder.encode(original) /glade/work/abanihi/devel/pangeo/xarray/xarray/coding/variables.py in encode(self, variable, name) 156 raise ValueError( 157 "Variable {!r} has multiple fill values {}. " --> 158 "Cannot encode data. ".format(name, [fv, mv]) 159 ) 160 ValueError: Variable None has multiple fill values [1e+20, 1e+20]. Cannot encode data. ```
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/3502/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
496533454 | MDExOlB1bGxSZXF1ZXN0MzE5ODY5NTAw | 3328 | Documentation improvements | andersy005 13301940 | closed | 0 | 9 | 2019-09-20T20:28:15Z | 2019-10-28T18:00:26Z | 2019-09-29T13:50:22Z | MEMBER | 0 | pydata/xarray/pulls/3328 | Cc @dcherian |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/3328/reactions", "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
510631260 | MDExOlB1bGxSZXF1ZXN0MzMwOTcxNzk1 | 3430 | Sync with latest version of cftime (v1.0.4) | andersy005 13301940 | closed | 0 | 5 | 2019-10-22T12:45:26Z | 2019-10-22T19:25:18Z | 2019-10-22T18:31:35Z | MEMBER | 0 | pydata/xarray/pulls/3430 |
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/3430/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
xarray 13221727 | pull | |||||
510326302 | MDU6SXNzdWU1MTAzMjYzMDI= | 3426 | `.sel()` failures when using latest cftime release (v1.0.4) | andersy005 13301940 | closed | 0 | 3 | 2019-10-21T22:19:24Z | 2019-10-22T18:31:34Z | 2019-10-22T18:31:34Z | MEMBER | I just updated to the latest ```python In [1]: import xarray as xr In [2]: import cftime In [3]: ds = xr.tutorial.load_dataset('rasm') In [4]: ds In [5]: ds.sel(time=slice("1980", "1982"))ValueError Traceback (most recent call last) <ipython-input-5-2c26e36a673a> in <module> ----> 1 ds.sel(time=slice("1980", "1982")) ~/opt/miniconda3/envs/intake-esm-dev/lib/python3.7/site-packages/xarray/core/dataset.py in sel(self, indexers, method, tolerance, drop, **indexers_kwargs) 1998 indexers = either_dict_or_kwargs(indexers, indexers_kwargs, "sel") 1999 pos_indexers, new_indexes = remap_label_indexers( -> 2000 self, indexers=indexers, method=method, tolerance=tolerance 2001 ) 2002 result = self.isel(indexers=pos_indexers, drop=drop) ~/opt/miniconda3/envs/intake-esm-dev/lib/python3.7/site-packages/xarray/core/coordinates.py in remap_label_indexers(obj, indexers, method, tolerance, **indexers_kwargs) 390 391 pos_indexers, new_indexes = indexing.remap_label_indexers( --> 392 obj, v_indexers, method=method, tolerance=tolerance 393 ) 394 # attach indexer's coordinate to pos_indexers ~/opt/miniconda3/envs/intake-esm-dev/lib/python3.7/site-packages/xarray/core/indexing.py in remap_label_indexers(data_obj, indexers, method, tolerance) 259 coords_dtype = data_obj.coords[dim].dtype 260 label = maybe_cast_to_coords_dtype(label, coords_dtype) --> 261 idxr, new_idx = convert_label_indexer(index, label, dim, method, tolerance) 262 pos_indexers[dim] = idxr 263 if new_idx is not None: ~/opt/miniconda3/envs/intake-esm-dev/lib/python3.7/site-packages/xarray/core/indexing.py in convert_label_indexer(index, label, index_name, method, tolerance) 123 _sanitize_slice_element(label.start), 124 _sanitize_slice_element(label.stop), --> 125 _sanitize_slice_element(label.step), 126 ) 127 if not isinstance(indexer, slice): ~/opt/miniconda3/envs/intake-esm-dev/lib/python3.7/site-packages/pandas/core/indexes/base.py in slice_indexer(self, start, end, step, kind) 5032 slice(1, 3) 5033 """ -> 5034 start_slice, end_slice = self.slice_locs(start, end, step=step, kind=kind) 5035 5036 # return a slice ~/opt/miniconda3/envs/intake-esm-dev/lib/python3.7/site-packages/pandas/core/indexes/base.py in slice_locs(self, start, end, step, kind) 5246 start_slice = None 5247 if start is not None: -> 5248 start_slice = self.get_slice_bound(start, "left", kind) 5249 if start_slice is None: 5250 start_slice = 0 ~/opt/miniconda3/envs/intake-esm-dev/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_slice_bound(self, label, side, kind) 5158 # For datetime indices label may be a string that has to be converted 5159 # to datetime boundary according to its resolution. -> 5160 label = self._maybe_cast_slice_bound(label, side, kind) 5161 5162 # we need to look up the label ~/opt/miniconda3/envs/intake-esm-dev/lib/python3.7/site-packages/xarray/coding/cftimeindex.py in _maybe_cast_slice_bound(self, label, side, kind) 336 pandas.tseries.index.DatetimeIndex._maybe_cast_slice_bound""" 337 if isinstance(label, str): --> 338 parsed, resolution = _parse_iso8601_with_reso(self.date_type, label) 339 start, end = _parsed_string_to_bounds(self.date_type, resolution, parsed) 340 if self.is_monotonic_decreasing and len(self) > 1: ~/opt/miniconda3/envs/intake-esm-dev/lib/python3.7/site-packages/xarray/coding/cftimeindex.py in _parse_iso8601_with_reso(date_type, timestr) 114 # 1.0.3.4. 115 replace["dayofwk"] = -1 --> 116 return default.replace(**replace), resolution 117 118 cftime/_cftime.pyx in cftime._cftime.datetime.replace() ValueError: Replacing the dayofyr or dayofwk of a datetime is not supported. ``` Output of
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/3426/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | xarray 13221727 | issue |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issues] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [state] TEXT, [locked] INTEGER, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [comments] INTEGER, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [author_association] TEXT, [active_lock_reason] TEXT, [draft] INTEGER, [pull_request] TEXT, [body] TEXT, [reactions] TEXT, [performed_via_github_app] TEXT, [state_reason] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [type] TEXT ); CREATE INDEX [idx_issues_repo] ON [issues] ([repo]); CREATE INDEX [idx_issues_milestone] ON [issues] ([milestone]); CREATE INDEX [idx_issues_assignee] ON [issues] ([assignee]); CREATE INDEX [idx_issues_user] ON [issues] ([user]);