html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/pull/4102#issuecomment-805297291,https://api.github.com/repos/pydata/xarray/issues/4102,805297291,MDEyOklzc3VlQ29tbWVudDgwNTI5NzI5MQ==,14808389,2021-03-23T22:04:56Z,2021-03-23T22:04:56Z,MEMBER,"data versioning might be useful if we ever decide to change datasets: once we do, the examples would change as well, so people might not be able to exactly reproduce them. Not sure how much of an issue that is, though. I fixed the failing tests, but the trick I used (point `$XDG_CACHE_DIR` to a temporary directory) only works on linux.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,626083981 https://github.com/pydata/xarray/pull/4102#issuecomment-761708024,https://api.github.com/repos/pydata/xarray/issues/4102,761708024,MDEyOklzc3VlQ29tbWVudDc2MTcwODAyNA==,14808389,2021-01-17T00:58:49Z,2021-01-17T00:58:49Z,MEMBER,"I switched the tutorial code to use `pooch` (the tests still need to be updated), which means that we get the appdirs, download, and caching for free. It is a optional dependency for now, thus requiring `pooch` to be able to use `xr.tutorial.open_*`. However, `pooch` seems to be mainly written for repositories that contain both the data and the code (like `scikit-image`'s `data` module). If I understand it correctly, this means that we can't take full advantage of the features `pooch` has (such as the file registry, or the `version` mechanism). Some of the options we have (`github_url` and `branch`) make this even more difficult. I wonder if we should deprecate / remove them? So for now, instead of using `pooch.create(base_url=url, registry=registry).fetch(name)` we use `pooch.retrieve(url, hash=None, ...)`. Not sure if there's a better way, though.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,626083981 https://github.com/pydata/xarray/pull/4102#issuecomment-723319721,https://api.github.com/repos/pydata/xarray/issues/4102,723319721,MDEyOklzc3VlQ29tbWVudDcyMzMxOTcyMQ==,14808389,2020-11-06T22:02:02Z,2020-11-06T22:02:02Z,MEMBER,"what should we do with this? Maybe it's easier to decide if we split this PR into one that introduces the caching and a new one that tries to find the correct ""appdirs"" path (which I think is nice to have but not really important)?","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,626083981 https://github.com/pydata/xarray/pull/4102#issuecomment-651438011,https://api.github.com/repos/pydata/xarray/issues/4102,651438011,MDEyOklzc3VlQ29tbWVudDY1MTQzODAxMQ==,14808389,2020-06-30T00:19:46Z,2020-06-30T00:19:46Z,MEMBER,"I vendored `appdirs.user_cache_dir`, but I need help with `mypy`: the windows code uses `ctypes.windll` which is only available on windows","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,626083981 https://github.com/pydata/xarray/pull/4102#issuecomment-651217367,https://api.github.com/repos/pydata/xarray/issues/4102,651217367,MDEyOklzc3VlQ29tbWVudDY1MTIxNzM2Nw==,14808389,2020-06-29T16:09:25Z,2020-06-29T16:09:25Z,MEMBER,"thanks for pointing me to that issue, @dcherian","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,626083981 https://github.com/pydata/xarray/pull/4102#issuecomment-651062460,https://api.github.com/repos/pydata/xarray/issues/4102,651062460,MDEyOklzc3VlQ29tbWVudDY1MTA2MjQ2MA==,14808389,2020-06-29T11:45:39Z,2020-06-29T13:23:24Z,MEMBER,"> I would suggest just creating the full directory tree, e.g., with `os.makedirs(path, exist_ok=True)`. I don't think we want to let this be inconsistent. When writing this I wanted to make sure we didn't force a `~/.cache` folder on everyone, regardless of the platform. After looking into this a bit more, it seems we would probably need to have different cache folders for different platforms: - on windows, the path is given by `APPDATA` (or `LOCALAPPDATA`, not sure) *(I can't find a official resource for this)* - on [macos](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFileSystem/Articles/LibraryDirectory.html#//apple_ref/doc/uid/20002282-BAJHCHJI) it can be either `~/Library/Caches` (or `~/Library/Application Support`?) - on unix (following the [freedesktop basedir spec](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html)) it is indicated by `XDG_CACHE_HOME` with a default of `~/.cache`. So a currently released version of `xarray` will always put it into `~/.xarray_tutorial_data`, and my changes will partially align with the freedesktop spec. How closely should we follow those specifications? Edit: `appdirs` solves that (but: it's a new dependency)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,626083981 https://github.com/pydata/xarray/pull/4102#issuecomment-636841900,https://api.github.com/repos/pydata/xarray/issues/4102,636841900,MDEyOklzc3VlQ29tbWVudDYzNjg0MTkwMA==,14808389,2020-06-01T12:48:13Z,2020-06-01T14:01:55Z,MEMBER,"using a existing library for that instead of writing our own caching / downloading functions does seem useful (the code there seems to be much more sophisticated than anything in the `tutorial` module), but we'd be introducing a new dependency: not sure how much of an issue that would be. We could also make it a optional dependency, but that would mean that the `tutorial` module is not always available.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,626083981