home / github

Menu
  • GraphQL API
  • Search all tables

issues

Table actions
  • GraphQL API for issues

44 rows where comments = 0, state = "closed" and user = 14371165 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: draft, created_at (date), updated_at (date), closed_at (date)

type 2

  • pull 41
  • issue 3

state 1

  • closed · 44 ✖

repo 1

  • xarray 44
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
2232134629 PR_kwDOAMm_X85sD5gg 8922 Add typing to some functions in indexing.py Illviljan 14371165 closed 0     0 2024-04-08T21:45:30Z 2024-04-10T18:05:52Z 2024-04-10T18:05:52Z MEMBER   0 pydata/xarray/pulls/8922

A drive-by PR as I was trying to figure out how these functions works.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8922/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
2215113392 PR_kwDOAMm_X85rJ3wR 8889 Add typing to test_plot.py Illviljan 14371165 closed 0     0 2024-03-29T10:49:39Z 2024-04-05T16:42:27Z 2024-04-05T16:42:27Z MEMBER   0 pydata/xarray/pulls/8889

Enforce typing on all tests in test_plot.py and add the remaining type hints.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8889/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1803788143 PR_kwDOAMm_X85VdjgR 7986 Add new what's new section Illviljan 14371165 closed 0     0 2023-07-13T21:29:01Z 2024-03-13T21:43:09Z 2023-07-13T21:30:07Z MEMBER   0 pydata/xarray/pulls/7986

Add a new what's new section

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7986/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1975173557 PR_kwDOAMm_X85ee4vk 8406 Add getitem to array protocol Illviljan 14371165 closed 0     0 2023-11-02T23:02:48Z 2023-12-12T20:54:00Z 2023-12-12T20:44:11Z MEMBER   0 pydata/xarray/pulls/8406

Currently using getitem is not allowed for either a arrayfunction or arrayapi according to the type hints. Add support for it.

Issues found in #8344 as more and more typing was added. But getitem is used in main as well which should fail, but manages to pass due to lack of type hints: https://github.com/pydata/xarray/blob/9acc411bc7e99e61269eadf77e96b9ddd40aec9e/xarray/namedarray/core.py#L792

Notes * mypy will now complain for _arrayapi[None] or _arrayapi([None,)], use xp.expand_dims(_arrayapi) for now instead.

https://github.com/numpy/numpy/pull/25022 https://github.com/data-apis/array-api/pull/687

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8406/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1966953477 PR_kwDOAMm_X85eC9NL 8391 Add duckarray test for np.array_api Illviljan 14371165 closed 0     0 2023-10-29T11:37:29Z 2023-12-06T22:30:04Z 2023-10-31T03:05:23Z MEMBER   0 pydata/xarray/pulls/8391

Check if the Array object from numpy.array_api is a valid duckarray. If it isn't we're likely doing something wrong.

Comments: * array_api standard does not specify a __array__-method. * Move __array__ to _arrayfunction only * We therefore have to use np.asarray(namedarray.data) when comparing ndarrays in the tests

Seen in #8344

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8391/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1971126897 PR_kwDOAMm_X85eRLVH 8396 Test masked array Illviljan 14371165 closed 0     0 2023-10-31T19:00:35Z 2023-11-03T15:07:35Z 2023-11-03T15:07:34Z MEMBER   0 pydata/xarray/pulls/8396

Add a test for masked array in order to make sure it works. Be consistent and use the shapetype dtype generics style instead.

Starting to think it's easier to just stick to one style of typing, even though the other option might be a little shorter.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8396/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1971001432 PR_kwDOAMm_X85eQvnS 8395 Correct typing for _sparsearray Illviljan 14371165 closed 0     0 2023-10-31T17:50:47Z 2023-10-31T19:28:49Z 2023-10-31T19:28:49Z MEMBER   0 pydata/xarray/pulls/8395

Use _DType_co instead, otherwise the dtype wont be correctly passed along. Quick follow up to #8387.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8395/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1966603230 PR_kwDOAMm_X85eB5WY 8387 Fix sparse typing Illviljan 14371165 closed 0     0 2023-10-28T13:50:08Z 2023-10-31T17:43:58Z 2023-10-31T17:43:57Z MEMBER   0 pydata/xarray/pulls/8387

Fixes the following pyright error on main:

C:\Users\J.W\Documents\GitHub\xarray\xarray\namedarray\core.py:846:39 - error: Argument of type "NDArray[Any]" cannot be assigned to parameter "data" of type "duckarray[_ShapeType_co@NamedArray, _DType_co@NamedArray] | Default" in function "_replace"   Type "NDArray[Any]" cannot be assigned to type "duckarray[_ShapeType_co@NamedArray, _DType_co@NamedArray] | Default"     "NDArray[Any]" is incompatible with protocol "_arrayfunction[_ShapeType_co@NamedArray, _DType_co@NamedArray]"       Type "(dtype: None = ..., /) -> ndarray[Any, _dtype]" cannot be assigned to type "(dtype: _DType@__array__, /) -> ndarray[Any, _DType@__array__]"         Parameter 1: type "_DType@__array__" cannot be assigned to type "None"           Type cannot be assigned to type "None"       Type "(dtype: None = ..., /) -> ndarray[Any, _dtype]" cannot be assigned to type "(dtype: _DType@__array__, /) -> ndarray[Any, _DType@__array__]"         Parameter 1: type "_DType@__array__" cannot be assigned to type "None"           Type cannot be assigned to type "None" ... (reportGeneralTypeIssues)

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8387/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1966902041 PR_kwDOAMm_X85eCzIK 8390 Remove duplicated navigation_with_keys in docs config Illviljan 14371165 closed 0     0 2023-10-29T08:52:56Z 2023-10-29T11:08:33Z 2023-10-29T11:08:33Z MEMBER   0 pydata/xarray/pulls/8390

Fixes:

``` Running Sphinx v6.2.1

Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/xray/conda/8387/lib/python3.10/site-packages/sphinx/config.py", line 353, in eval_config_file code = compile(f.read(), filename.encode(fs_encoding), 'exec') File "/home/docs/checkouts/readthedocs.org/user_builds/xray/checkouts/8387/doc/conf.py", line 240 navigation_with_keys=False, ^^^^^^^^^^^^^^^^^^^^^^^^^^ SyntaxError: keyword argument repeated: navigation_with_keys

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/xray/conda/8387/lib/python3.10/site-packages/sphinx/cmd/build.py", line 280, in build_main app = Sphinx(args.sourcedir, args.confdir, args.outputdir, File "/home/docs/checkouts/readthedocs.org/user_builds/xray/conda/8387/lib/python3.10/site-packages/sphinx/application.py", line 207, in init self.config = Config.read(self.confdir, confoverrides or {}, self.tags) File "/home/docs/checkouts/readthedocs.org/user_builds/xray/conda/8387/lib/python3.10/site-packages/sphinx/config.py", line 177, in read namespace = eval_config_file(filename, tags) File "/home/docs/checkouts/readthedocs.org/user_builds/xray/conda/8387/lib/python3.10/site-packages/sphinx/config.py", line 357, in eval_config_file raise ConfigError(msg % err) from err sphinx.errors.ConfigError: There is a syntax error in your configuration file: keyword argument repeated: navigation_with_keys (conf.py, line 240)

Configuration error: There is a syntax error in your configuration file: keyword argument repeated: navigation_with_keys (conf.py, line 240) Command time: 0s Return: 2

```

Seen in #8387

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8390/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1962432308 PR_kwDOAMm_X85dzwDL 8376 Add chunkedduckarray to _typing Illviljan 14371165 closed 0     0 2023-10-25T23:09:46Z 2023-10-26T19:10:41Z 2023-10-26T01:13:54Z MEMBER   0 pydata/xarray/pulls/8376

Add more chunkedarray typing options. Also clean up some ideas that didn't work out. Using TypeVar for arrays for example has turned out to not work that great because of the very common dtype changes.

If you want to check if an ArrayLike is a chunked array: python if isinstance(data, _chunkedarrayfunction_or_api): data.chunk() However try to rely on mypy in private functions over isinstance checks for better performance: python def _do_compute(data: chunkedduckarray[Any, _DType]) -> duckarray[Any, _DType]: return data.compute()

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8376/reactions",
    "total_count": 1,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 1,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1957838652 PR_kwDOAMm_X85dkPUb 8362 NamedArray.ndim can only be int Illviljan 14371165 closed 0     0 2023-10-23T19:02:48Z 2023-10-23T19:04:14Z 2023-10-23T19:04:14Z MEMBER   0 pydata/xarray/pulls/8362

ndim is usually defined as len(self.shape), which does not care about the values in the shape-tuple. So there's no risk when getting unknown shape sizes from for example a masked dask array.

Reference: https://data-apis.org/array-api/latest/API_specification/generated/array_api.array.ndim.html

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8362/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1955651132 PR_kwDOAMm_X85dc-58 8355 Use namedarray repr in _array_api docstrings Illviljan 14371165 closed 0     0 2023-10-21T20:20:31Z 2023-10-22T04:50:30Z 2023-10-22T00:52:03Z MEMBER   0 pydata/xarray/pulls/8355

Use the normal repr now that NamedArray has one.
Noticed a bug as well, that sometimes the repr attempts to call NamedArray._in_memory which doesn't exist.

Seen in #8344.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8355/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1955654332 PR_kwDOAMm_X85dc_gm 8356 Remove unnecessary for loop when using get_axis_num Illviljan 14371165 closed 0     0 2023-10-21T20:33:37Z 2023-10-22T04:50:16Z 2023-10-22T00:49:39Z MEMBER   0 pydata/xarray/pulls/8356

Noticed an unnecessary for loop when playing around with self.get_axis_num in #8344.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8356/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1954723109 PR_kwDOAMm_X85dZ9lj 8352 Add better ASV test cases for open_dataset Illviljan 14371165 closed 0     0 2023-10-20T17:12:29Z 2023-10-20T18:34:36Z 2023-10-20T18:34:35Z MEMBER   0 pydata/xarray/pulls/8352

With more realistic array sizes maybe the improvements in #8339 should be noticeable.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8352/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1946069214 PR_kwDOAMm_X85c8hTY 8320 Remove redundant check in IndexVariable Illviljan 14371165 closed 0     0 2023-10-16T20:50:19Z 2023-10-17T16:41:32Z 2023-10-17T16:41:32Z MEMBER   0 pydata/xarray/pulls/8320

Reverts a few things from #8313. An IndexVariable can only have PandasIndexAdapter as self._data, which makes the for MemoryCachedArray unnecessary.

Seen in #8294.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8320/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1944067022 PR_kwDOAMm_X85c1r1z 8313 Reverse type checks for better type inheritance Illviljan 14371165 closed 0     0 2023-10-15T21:38:59Z 2023-10-16T06:30:55Z 2023-10-16T06:30:55Z MEMBER   0 pydata/xarray/pulls/8313

Seen in #8294.

It's usually better to switch if-checks so that the wider type is defined first. Especially when relying on the implicit type casting like we do here.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8313/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1931223548 PR_kwDOAMm_X85cKiKo 8280 Remove if condition to trigger mypy Illviljan 14371165 closed 0     0 2023-10-07T06:49:18Z 2023-10-08T00:49:34Z 2023-10-08T00:49:34Z MEMBER   0 pydata/xarray/pulls/8280

This seems to be fixed according to #6551.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8280/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1916447957 PR_kwDOAMm_X85bYxsO 8243 Add type hints to maybe_promote in dtypes.py Illviljan 14371165 closed 0     0 2023-09-27T22:53:34Z 2023-09-28T19:39:56Z 2023-09-28T19:39:55Z MEMBER   0 pydata/xarray/pulls/8243

Reducing type errors in #8241

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8243/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1909448043 PR_kwDOAMm_X85bBQuc 8226 Add typing to functions related to data_vars Illviljan 14371165 closed 0     0 2023-09-22T19:54:22Z 2023-09-24T14:03:55Z 2023-09-24T14:03:55Z MEMBER   0 pydata/xarray/pulls/8226

A smaller PR related to trying to pass T_DuckArray's along xarray's different classes.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8226/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1890927857 PR_kwDOAMm_X85aC50x 8172 Don't try to sort hashable, map to string Illviljan 14371165 closed 0     0 2023-09-11T17:10:22Z 2023-09-11T18:09:15Z 2023-09-11T18:09:15Z MEMBER   0 pydata/xarray/pulls/8172

Fixes the mypy error we're seeing in the CI at the moment:

xarray/core/dataset.py:5286: error: Value of type variable "SupportsRichComparisonT" of "sorted" cannot be "Hashable" [type-var]

Can't sort Hashables apparently.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/8172/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1797246423 PR_kwDOAMm_X85VHLJ1 7972 Skip broken tests on Python 3.11 and Windows Illviljan 14371165 closed 0     0 2023-07-10T17:54:54Z 2023-07-10T18:54:38Z 2023-07-10T18:54:38Z MEMBER   0 pydata/xarray/pulls/7972

Temporally skip tests in order to make CI pass again, the troublesome tests are reported in #7971.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7972/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1718427036 PR_kwDOAMm_X85Q88zP 7857 Avoid explicit loop when updating OrderedSet Illviljan 14371165 closed 0     0 2023-05-21T09:06:58Z 2023-05-25T20:08:35Z 2023-05-25T20:08:34Z MEMBER   0 pydata/xarray/pulls/7857

Following recommendation from: https://github.com/pydata/xarray/pull/7824#discussion_r1196114696

```python

main:

a = tuple(f"dim_{i}" for i in range(500)) %timeit OrderedSet(a) 46 µs ± 2.26 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

This PR:

a = tuple(f"dim_{i}" for i in range(500)) %timeit OrderedSet(a) 28.9 µs ± 476 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each) ```

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7857/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1718477599 PR_kwDOAMm_X85Q9G1M 7858 Add type hints to test_dtypes Illviljan 14371165 closed 0     0 2023-05-21T12:00:26Z 2023-05-21T12:30:18Z 2023-05-21T12:30:18Z MEMBER   0 pydata/xarray/pulls/7858

Split out from #7858.

Improve mypy coverage in order to understand better what the functions are actually used for.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7858/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1710742907 PR_kwDOAMm_X85QjGIu 7843 Improve interp performance Illviljan 14371165 closed 0     0 2023-05-15T20:02:25Z 2023-05-18T18:54:15Z 2023-05-18T18:54:15Z MEMBER   0 pydata/xarray/pulls/7843
  • Use fastpaths
  • Only transpose multi-dimensional arrays.
  • Calculating chunks and shapes can be costly, prefer doing it once.
{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7843/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1691458797 PR_kwDOAMm_X85PiT3U 7804 Test asv ci Illviljan 14371165 closed 0     0 2023-05-01T21:54:07Z 2023-05-01T22:24:14Z 2023-05-01T22:24:14Z MEMBER   1 pydata/xarray/pulls/7804
  • [ ] 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
{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7804/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1457017483 PR_kwDOAMm_X85DTsQq 7303 Add mypy version to xr.show_versions Illviljan 14371165 closed 0     0 2022-11-20T19:27:20Z 2022-11-21T21:33:15Z 2022-11-21T21:33:15Z MEMBER   0 pydata/xarray/pulls/7303

It's a little tricky getting the mypy version, so adding it to the show_versions function as well.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7303/reactions",
    "total_count": 3,
    "+1": 3,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1422869912 PR_kwDOAMm_X85BhYOh 7219 Explicitly remove grids for pcolormesh Illviljan 14371165 closed 0     0 2022-10-25T18:04:14Z 2022-10-28T16:22:53Z 2022-10-28T16:22:53Z MEMBER   0 pydata/xarray/pulls/7219

Removes a warning in the plotting tests, related to https://matplotlib.org/stable/api/prev_api_changes/api_changes_3.5.0.html#auto-removal-of-grids-by-pcolor-and-pcolormesh.

I just added ax.grid(False) but maybe we just want whatever is the default of matplotlib?

```python import xarray as xr

airtemps = xr.tutorial.open_dataset("air_temperature") air = airtemps.air - 273.15 air.attrs = airtemps.air.attrs air.attrs["units"] = "deg C"

air2d = air.isel(time=500) fig, axs = plt.subplots(2,1) air2d.plot(ax=axs[0]) # No grid. air2d.plot(ax=axs[1]) # With grid. axs[1].grid(True) ```

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7219/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1376776178 I_kwDOAMm_X85SD-_y 7049 Backend entrypoints not public? Illviljan 14371165 closed 0     0 2022-09-17T13:41:13Z 2022-10-26T16:01:06Z 2022-10-26T16:01:06Z MEMBER      

What is your issue?

As I've understood it ZarrBackendEntrypoint is the engine used when loading zarr-files. But for some reason we show ZarrStore in xr.backends. I believe the ZarrStore class is supposed to be just a implementation detail, right?

```python

The available engines:

xr.backends.list_engines() Out[23]: {'netcdf4': <xarray.backends.netCDF4_.NetCDF4BackendEntrypoint object at 0x00000296D05D11F0>, 'h5netcdf': <xarray.backends.h5netcdf_.H5netcdfBackendEntrypoint object at 0x00000296D05D14C0>, 'scipy': <xarray.backends.scipy_.ScipyBackendEntrypoint object at 0x00000296D05D11C0>, 'pseudonetcdf': <xarray.backends.pseudonetcdf_.PseudoNetCDFBackendEntrypoint object at 0x00000296D05D1430>, 'pydap': <xarray.backends.pydap_.PydapBackendEntrypoint object at 0x00000296D05D1310>, 'store': <xarray.backends.store.StoreBackendEntrypoint object at 0x00000296D05D1340>, 'zarr': <xarray.backends.zarr.ZarrBackendEntrypoint object at 0x00000296D05D12E0>}

The public class is ZarrStore instead of ZarrBackendEntrypoint, how come?

dir(xr.backends) Out[22]: ['AbstractDataStore', 'BackendArray', 'BackendEntrypoint', 'CachingFileManager', 'CfGribDataStore', 'DummyFileManager', 'FileManager', 'H5NetCDFStore', 'InMemoryDataStore', 'NetCDF4DataStore', 'NioDataStore', 'PseudoNetCDFDataStore', 'PydapDataStore', 'ScipyDataStore', 'ZarrStore', 'all', 'builtins', 'cached', 'doc', 'file', 'loader', 'name', 'package', 'path', 'spec', 'api', 'cfgrib_', 'common', 'file_manager', 'h5netcdf_', 'list_engines', 'locks', 'lru_cache', 'memory', 'netCDF4_', 'netcdf3', 'plugins', 'pseudonetcdf_', 'pydap_', 'pynio_', 'rasterio_', 'scipy_', 'store', 'zarr'] ```

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7049/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed xarray 13221727 issue
1419534239 PR_kwDOAMm_X85BWS-T 7196 Remove rasterio tutorial test Illviljan 14371165 closed 0     0 2022-10-22T22:30:41Z 2022-10-23T11:57:36Z 2022-10-23T11:57:36Z MEMBER   0 pydata/xarray/pulls/7196

This test has been quite troublesome and since .open_rasterio has been deprecated since 0.20 I think it's fine removing the test.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7196/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1386416145 PR_kwDOAMm_X84_n-Xi 7082 Clearer variable names in FacetGrid._set_lims Illviljan 14371165 closed 0     0 2022-09-26T16:52:41Z 2022-09-26T20:50:18Z 2022-09-26T20:50:18Z MEMBER   0 pydata/xarray/pulls/7082
  • Fix outdated typing.
  • Clearer variable names.
{
    "url": "https://api.github.com/repos/pydata/xarray/issues/7082/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1342259638 PR_kwDOAMm_X849WYHD 6926 Use micromamba in ASV benchmark workflow Illviljan 14371165 closed 0     0 2022-08-17T20:27:44Z 2022-09-24T09:15:38Z 2022-09-24T09:15:38Z MEMBER   0 pydata/xarray/pulls/6926

These changes should hopefully yield some performance improvements.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6926/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1339604345 PR_kwDOAMm_X849Nkuh 6918 Generalize set_(x, y, z)labels in facetgrids Illviljan 14371165 closed 0     0 2022-08-15T22:45:15Z 2022-08-17T17:33:19Z 2022-08-17T17:21:40Z MEMBER   0 pydata/xarray/pulls/6918

Prepare to be able to use a .set_zlabels in facetgrids. Reduces diffs in #6778.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6918/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1339578605 PR_kwDOAMm_X849NfsN 6917 Reuse total width calculation Illviljan 14371165 closed 0     0 2022-08-15T22:21:31Z 2022-08-15T22:40:06Z 2022-08-15T22:40:06Z MEMBER   0 pydata/xarray/pulls/6917

Minor tweak to reduce diffs in #6778.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6917/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1299275985 PR_kwDOAMm_X847HxFX 6764 Remove generic utils import Illviljan 14371165 closed 0     0 2022-07-08T17:22:26Z 2022-08-12T09:07:23Z 2022-07-08T17:52:50Z MEMBER   0 pydata/xarray/pulls/6764

Some minor import oddities I noticed while reading the code.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6764/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1299306810 PR_kwDOAMm_X847H3r8 6765 Use `math` instead of `numpy` in some places Illviljan 14371165 closed 0     0 2022-07-08T18:02:33Z 2022-08-12T09:07:12Z 2022-07-09T07:51:15Z MEMBER   0 pydata/xarray/pulls/6765

Use math instead of numpy where possible, looks better and seems faster as well. Idea from https://github.com/pydata/xarray/pull/6702#discussion_r903986442, https://github.com/dask/dask/pull/9232

Example: ```python %timeit math.prod((1, 2, 3)) 161 ns ± 10.5 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

%timeit int(np.prod((1, 2, 3))) 11.9 µs ± 248 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each) ```

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6765/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1299416254 PR_kwDOAMm_X847IPRb 6767 Type `shape` methods Illviljan 14371165 closed 0     0 2022-07-08T20:23:59Z 2022-08-12T09:06:53Z 2022-07-09T07:51:28Z MEMBER   0 pydata/xarray/pulls/6767

The shape methods can have multiple integers inside the tuple, this fixes that and adds to typing to all shape methods I found.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6767/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1088740466 PR_kwDOAMm_X84wR4bX 6109 Remove registration of pandas datetime converter in plotting Illviljan 14371165 closed 0     0 2021-12-26T10:14:47Z 2022-08-12T09:05:45Z 2022-01-09T20:33:29Z MEMBER   0 pydata/xarray/pulls/6109

Back in 2017 the register_pandas_datetime_converter_if_needed was added to workaround matplotlib crashing when handling datetime objects, (#1669). The example that crashed back then was (#1661): ```python import xarray import numpy

da = xarray.DataArray( numpy.arange(3*4).reshape(3,4), dims=("x", "y"), coords={"x": [1,2,3], "y": [numpy.datetime64(f"2000-01-{x:02d}") for x in range(1, 5)]})

da.plot.pcolormesh() ``` This has probably been working by default in matplotlib since 2.2.0, when datetime support was added https://github.com/matplotlib/matplotlib/releases/tag/v2.2.0. (https://github.com/matplotlib/matplotlib/pull/9779)

Related issues: https://github.com/mwaskom/seaborn/issues/1325

  • [x] Closes #6102
  • [x] User visible changes (including notable bug fixes) are documented in whats-new.rst
{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6109/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1302560442 PR_kwDOAMm_X847Snca 6779 Move _infer_meta_data and _parse_size to utils Illviljan 14371165 closed 0     0 2022-07-12T20:01:59Z 2022-08-12T09:03:53Z 2022-07-12T20:45:02Z MEMBER   0 pydata/xarray/pulls/6779

Reduce diffs in #6778.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6779/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1325613350 PR_kwDOAMm_X848fiwZ 6862 Add typing to some interval functions Illviljan 14371165 closed 0     0 2022-08-02T10:02:57Z 2022-08-12T09:02:21Z 2022-08-02T20:43:08Z MEMBER   0 pydata/xarray/pulls/6862

Reduce diffs in #6778. _interval_to_double_bound_points was returning a list instead of ndarray which I had some issues with.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6862/reactions",
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1324163858 PR_kwDOAMm_X848auLe 6856 Better error message in _infer_meta_data Illviljan 14371165 closed 0     0 2022-08-01T10:06:58Z 2022-08-12T09:01:36Z 2022-08-01T16:59:51Z MEMBER   0 pydata/xarray/pulls/6856

Reduce diffs in #6778. I remember finding it annoying that I got a list of the valid strings but not the actual string used.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6856/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1332554764 PR_kwDOAMm_X8482bc3 6898 Fix mypy CI Illviljan 14371165 closed 0     0 2022-08-09T00:35:19Z 2022-08-12T08:59:42Z 2022-08-09T01:30:24Z MEMBER   0 pydata/xarray/pulls/6898

Fixes: xarray/tests/test_backends_file_manager.py:56: error: Incompatible types in assignment (expression has type "_GeneratorContextManager[Any]", variable has type "WarningsChecker") [assignment] Just added a ignore.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6898/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
1318778491 PR_kwDOAMm_X848I-tg 6831 Convert name to string Illviljan 14371165 closed 0     0 2022-07-26T21:38:32Z 2022-07-26T22:16:44Z 2022-07-26T21:38:54Z MEMBER   0 pydata/xarray/pulls/6831
  • [ ] 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
{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6831/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
    xarray 13221727 pull
778083748 MDU6SXNzdWU3NzgwODM3NDg= 4761 Dataset.interp drops boolean variables Illviljan 14371165 closed 0     0 2021-01-04T13:09:56Z 2021-05-13T15:28:15Z 2021-05-13T15:28:15Z MEMBER      

What happened: Dataset.interp silently drops boolean variables.

What you expected to happen: If I'm interpolating a group of variables I expect to get all of them back in the correct shape with relevant values in them.

If the variables are boolean or object arrays I don't expect it to do linear interpolation because it doesn't make sense but stepwise interpolation like nearest or zero order interpolation should be fine to expect.

Minimal Complete Verifiable Example:

```python import numpy as np a = np.arange(0, 5) b = np.core.defchararray.add("long_variable_name", a.astype(str)) coords = dict(time=da.array([0, 1])) data_vars = dict() for v in b: data_vars[v] = xr.DataArray( name=v, data=np.array([0, 1]).astype(bool), dims=["time"], coords=coords, ) ds1 = xr.Dataset(data_vars)

Print raw data:

print(ds1) Out[3]: <xarray.Dataset> Dimensions: (time: 2) Coordinates: * time (time) int32 0 1 Data variables: long_variable_name0 (time) bool False True long_variable_name1 (time) bool False True long_variable_name2 (time) bool False True long_variable_name3 (time) bool False True long_variable_name4 (time) bool False True

Interpolate:

ds1 = ds1.interp( time=da.array([0, 0.5, 1, 2]), assume_sorted=True, method="nearest", kwargs=dict(fill_value="extrapolate"), )

Print interpolated data:

<xarray.Dataset> Dimensions: (time: 4) Coordinates: * time (time) float64 0.0 0.5 1.0 2.0 Data variables: empty ```

Anything else we need to know?: ds.interp_likeuse ds.reindex in these cases which seems like a good choice in ds.interp as well. But I think that both ds.interp and ds.interp_like should fill by default with nearest value instead of np.nan because we're still requesting interpolation.

Environment:

Output of <tt>xr.show_versions()</tt> xr.show_versions() INSTALLED VERSIONS ------------------ commit: None python: 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] python-bits: 64 OS: Windows libhdf5: 1.10.4 libnetcdf: None xarray: 0.16.2 pandas: 1.1.5 numpy: 1.17.5 scipy: 1.4.1 netCDF4: None pydap: None h5netcdf: None h5py: 2.10.0 Nio: None zarr: None cftime: None nc_time_axis: None PseudoNetCDF: None rasterio: None cfgrib: None iris: None bottleneck: 1.3.2 dask: 2020.12.0 distributed: 2020.12.0 matplotlib: 3.3.2 cartopy: None seaborn: 0.11.1 numbagg: None pint: None setuptools: 51.0.0.post20201207 pip: 20.3.3 conda: 4.9.2 pytest: 6.2.1 IPython: 7.19.0 sphinx: 3.4.0
{
    "url": "https://api.github.com/repos/pydata/xarray/issues/4761/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed xarray 13221727 issue
791725552 MDU6SXNzdWU3OTE3MjU1NTI= 4838 Simplify adding custom backends Illviljan 14371165 closed 0     0 2021-01-22T06:02:53Z 2021-04-15T02:02:03Z 2021-04-15T02:02:03Z MEMBER      

Is your feature request related to a problem? Please describe. I've been working on opening custom hdf formats in xarray, reading up on the apiv2 it is currently only possible to declare a new external plugin in setup.py but that doesn't seem easy or intuitive to me.

Describe the solution you'd like Why can't we simply be allowed to add functions to the engine parameter? Example: ```python from custom_backend import engine

ds = xr.load_dataset(filename, engine=engine) ``` This seems like a small function change to me from my initial quick look because there's mainly a bunch of string checks in the normal case until we get to the registered backend functions, if we send in a function instead in the engine-parameter we can just bypass those checks.

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/4838/reactions",
    "total_count": 2,
    "+1": 2,
    "-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

CSV options:

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]);
Powered by Datasette · Queries took 29.13ms · About: xarray-datasette