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 1952739368,PR_kwDOAMm_X85dTMKv,8339,Reduce dask tokenization time,6042212,closed,0,,,6,2023-10-19T17:22:06Z,2023-10-20T23:13:44Z,2023-10-20T23:13:43Z,CONTRIBUTOR,,0,pydata/xarray/pulls/8339,"When using dask (e.g., `chunks={}` with a zarr dataset), each dask.array gets a token. Calculating this token currently hits a recursive path within dask and is relatively slow (~10ms), which adds up for many variables. This PR makes a simpler but still unique token. An example profile of open_dataset before: and after ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8339/reactions"", ""total_count"": 2, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 2, ""eyes"": 0}",,,13221727,pull 839823306,MDU6SXNzdWU4Mzk4MjMzMDY=,5070,requires io.IOBase subclass rather than duck file-like,6042212,closed,0,,,3,2021-03-24T15:06:39Z,2021-03-29T16:22:35Z,2021-03-29T16:22:35Z,CONTRIBUTOR,,,,"If you `open_dataset` on a file-like object, you will get the error ``` TypeError: cannot read the magic number form [sic!] ``` This is because in `xarray.core.utils.read_magic_number`, we have `isinstance(filename_or_obj, io.IOBase)`, which is not necessarily the case for a file-like. I recommend changing this to `hasattr(filename_or_obj, ""read"")`. Example: ``` In [1]: import fsspec In [2]: fs = fsspec.filesystem('file') In [3]: f = fs.open(""201704010000.CHRTOUT_DOMAIN1.comp"") In [5]: import xarray as xr In [6]: xr.open_dataset(f) TypeError ``` Where `f` is a `LocalFileOpener`, made to be lazy and defer file opening, so that it can be pickled.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5070/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 788398518,MDExOlB1bGxSZXF1ZXN0NTU2OTE3MDIx,4823,Allow fsspec URLs in open_(mf)dataset,6042212,closed,0,,,20,2021-01-18T16:22:35Z,2021-02-16T21:26:53Z,2021-02-16T21:18:05Z,CONTRIBUTOR,,0,pydata/xarray/pulls/4823," - [x] Closes #4461 and related - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4823/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 709187212,MDExOlB1bGxSZXF1ZXN0NDkzMjkyOTIw,4461,Allow fsspec/zarr/mfdataset,6042212,closed,0,,,18,2020-09-25T18:14:38Z,2021-02-16T15:36:54Z,2021-02-16T15:36:54Z,CONTRIBUTOR,,0,pydata/xarray/pulls/4461,"Requires https://github.com/zarr-developers/zarr-python/pull/606 - [ ] ~Closes #xxxx~ - [x] Tests added - [x] Passes `isort . && black . && mypy . && flake8` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4461/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 202260275,MDU6SXNzdWUyMDIyNjAyNzU=,1223,zarr as persistent store for xarray,6042212,closed,0,,,12,2017-01-20T22:37:20Z,2017-12-14T02:11:36Z,2017-12-14T02:11:36Z,CONTRIBUTOR,,,,"netCDF and HDF are good legacy archival formats handled by xarray and the wider numerical python ecosystem, but they don't play nicely with parallel access across a cluster or from an archive store like s3. [zarr](https://github.com/alimanfoo/zarr) is certainly non-standard, but would make a very nice internal store for intermediates. This gist, below, is a simple motivator that we could use zarr not only for dask but for xarray too without too much expenditure of effort. https://gist.github.com/martindurant/dc27a072da47fab8d63117488f1fd7f1 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1223/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue