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/2476#issuecomment-429626716,https://api.github.com/repos/pydata/xarray/issues/2476,429626716,MDEyOklzc3VlQ29tbWVudDQyOTYyNjcxNg==,226037,2018-10-14T13:31:46Z,2018-10-25T21:10:36Z,MEMBER,"@shoyer I added the `TestCfGrib` class with basic read tests, a test GRIB file and *ecCodes* / *cfgrib* to `requirements-py36.yml`. Questions: 1. ~~I failed to reach 100% coverage becasue I didn't find the way to test `CfGribDataStore.get_dimensions`. Any hint?~~ Done. 2. Can /should I test `dask` and `dask.distributed` support in the unit tests? How? Any pointers? It looks like we are very close, what do you think? Shall I move to the documentation?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-430705904,https://api.github.com/repos/pydata/xarray/issues/2476,430705904,MDEyOklzc3VlQ29tbWVudDQzMDcwNTkwNA==,1217238,2018-10-17T16:54:00Z,2018-10-17T16:54:00Z,MEMBER,Thanks @alexamici and ECMWF!,"{""total_count"": 3, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 3, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-429668194,https://api.github.com/repos/pydata/xarray/issues/2476,429668194,MDEyOklzc3VlQ29tbWVudDQyOTY2ODE5NA==,226037,2018-10-14T22:19:27Z,2018-10-14T22:28:29Z,MEMBER,"@shoyer I added a test for dask.distributed and it passes but please check that it is meaningful, as I'm not completely sure what to test.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-429663367,https://api.github.com/repos/pydata/xarray/issues/2476,429663367,MDEyOklzc3VlQ29tbWVudDQyOTY2MzM2Nw==,1217238,2018-10-14T21:16:46Z,2018-10-14T21:16:46Z,MEMBER,"> Do you usually keep the history of PRs as it is or do you prefer me to rebase? We squash commits upon merging, so please leave things as is :)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-429661591,https://api.github.com/repos/pydata/xarray/issues/2476,429661591,MDEyOklzc3VlQ29tbWVudDQyOTY2MTU5MQ==,226037,2018-10-14T20:54:09Z,2018-10-14T20:54:09Z,MEMBER,"@shoyer I'm ready to integrate more feedback (especially on the documentation), but I removed the `WIP:` prefix as I'd consider the PR good to go as soon as you like it. Do you usually keep the history of PRs as it is or do you prefer me to rebase?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-429654399,https://api.github.com/repos/pydata/xarray/issues/2476,429654399,MDEyOklzc3VlQ29tbWVudDQyOTY1NDM5OQ==,226037,2018-10-14T19:23:25Z,2018-10-14T19:33:19Z,MEMBER,"Tests added and passing with 100% coverage. Added minimal documentation. BTW, I did a 0.9.0 beta release of *cfgrib* and I plan to give the public announcement tomorrow. :)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-429383251,https://api.github.com/repos/pydata/xarray/issues/2476,429383251,MDEyOklzc3VlQ29tbWVudDQyOTM4MzI1MQ==,1217238,2018-10-12T16:26:42Z,2018-10-12T16:26:42Z,MEMBER,Tests should be fixed if you merge in master now.,"{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-428783424,https://api.github.com/repos/pydata/xarray/issues/2476,428783424,MDEyOklzc3VlQ29tbWVudDQyODc4MzQyNA==,1217238,2018-10-11T01:09:08Z,2018-10-11T01:09:08Z,MEMBER,"@alexamici oops, we accidentally disabled most of our backend unit tests -- see https://github.com/pydata/xarray/pull/2479 for the fix.","{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 1, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-428710896,https://api.github.com/repos/pydata/xarray/issues/2476,428710896,MDEyOklzc3VlQ29tbWVudDQyODcxMDg5Ng==,226037,2018-10-10T20:02:36Z,2018-10-10T20:02:36Z,MEMBER,"@shoyer thank you very much for the guidance, it is very appreciated! I stared working on the tests, but I've been blocked immediately by something that looks trivial. I cannot get the test class `PyNioTest` to run: ``` $ python setup.py test --addopts -v | grep Test ... xarray/tests/test_backends.py::TestCommon::test_robust_getitem PASSED [ 2%] xarray/tests/test_backends.py::TestRasterio::test_serialization SKIPPED [ 3%] xarray/tests/test_backends.py::TestRasterio::test_utm SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_non_rectilinear SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_platecarree SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_notransform SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_indexing SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_caching SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_chunks SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_pickle_rasterio SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_ENVI_tags SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_no_mftime SKIPPED [ 4%] xarray/tests/test_backends.py::TestRasterio::test_http_url SKIPPED [ 4%] xarray/tests/test_backends.py::TestEncodingInvalid::test_extract_nc4_variable_encoding PASSED [ 4%] xarray/tests/test_backends.py::TestEncodingInvalid::test_extract_h5nc_encoding PASSED [ 4%] xarray/tests/test_backends.py::TestValidateAttrs::test_validating_attrs PASSED [ 4%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_no_name PASSED [ 4%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_with_name PASSED [ 4%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_coord_name_clash PASSED [ 4%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_open_dataarray_options PASSED [ 4%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_return_bytes PASSED [ 4%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_no_name_pathlib PASSED [ 4%] ... ``` How do you make *pytest* run test classes that do not start with `Test`?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-428388364,https://api.github.com/repos/pydata/xarray/issues/2476,428388364,MDEyOklzc3VlQ29tbWVudDQyODM4ODM2NA==,1217238,2018-10-09T23:34:30Z,2018-10-09T23:34:30Z,MEMBER,"The v0.11 release still need more work (to complete deprecations), so it's at least a week or two out (probably more). I suspect we could get this PR ready together in time. On Tue, Oct 9, 2018 at 3:59 PM Alessandro Amici wrote: > @shoyer BTW what timeframe do you expect for > the v0.11 release? And would you consider merging this Pull Request before > the release, assuming that we do a *cfgrib* release with read support > declared *beta*? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > , or mute > the thread > > . > ","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-428381697,https://api.github.com/repos/pydata/xarray/issues/2476,428381697,MDEyOklzc3VlQ29tbWVudDQyODM4MTY5Nw==,226037,2018-10-09T22:59:32Z,2018-10-09T22:59:32Z,MEMBER,"@shoyer BTW what timeframe do you expect for the v0.11 release? And would you consider merging this Pull Request before the release, assuming that we do a *cfgrib* release with read support declared *beta*?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-428380374,https://api.github.com/repos/pydata/xarray/issues/2476,428380374,MDEyOklzc3VlQ29tbWVudDQyODM4MDM3NA==,226037,2018-10-09T22:53:18Z,2018-10-09T22:53:18Z,MEMBER,"The `cfgrib_.py` backend now uses the new `CachingFileManager` interface and I added a global process lock, just-in-case. The code is very simple and I mimicked the PyNIO backend so I expect it to work correctly with *dask*, but I'm not sure how to test for it. Furthermore I expect *dask* performance to be abysmal until I implement ecmwf/cfgrib#20.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-428231963,https://api.github.com/repos/pydata/xarray/issues/2476,428231963,MDEyOklzc3VlQ29tbWVudDQyODIzMTk2Mw==,1217238,2018-10-09T15:12:41Z,2018-10-09T15:12:41Z,MEMBER,"The appropriate lock to use depends on `cfgrid`. Is the library thread-safe? If not, it's probably best to use a global (per process) lock. pynio is probably the simplest example of how to write a new backend: https://github.com/pydata/xarray/blob/master/xarray/backends/pynio_.py The main difference is that you should make use of [`CachingFileManager`](https://github.com/pydata/xarray/blob/289b377129b18e7dc6da8336e958a85be868acbe/xarray/backends/file_manager.py#L34) to add support for dask and opening many files at once. File managers make it possible to pickle a datastore, which is what we need to make dask-distirbuted work.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-428109749,https://api.github.com/repos/pydata/xarray/issues/2476,428109749,MDEyOklzc3VlQ29tbWVudDQyODEwOTc0OQ==,226037,2018-10-09T08:40:18Z,2018-10-09T08:53:03Z,MEMBER,"@shoyer at long last! :) I quickly sync'ed with the new backend API. I did some light testing. Note that I didn't test with *dask* at all and I'm not using the passed `lock`. Pointers to how to properly use the new backend interface are welcome.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737 https://github.com/pydata/xarray/pull/2476#issuecomment-428036391,https://api.github.com/repos/pydata/xarray/issues/2476,428036391,MDEyOklzc3VlQ29tbWVudDQyODAzNjM5MQ==,1217238,2018-10-09T02:12:41Z,2018-10-09T02:12:41Z,MEMBER,"@alexamici great to see this! I'm about to merge a refactor of xarray's backends for v0.11 in https://github.com/pydata/xarray/pull/2261. You'll need to refactor a little bit to accommodate this, but hopefully that should be straightforward. The new interface should be a little easier to use, especially for handling many files or dask-distributed support.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,368004737