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 1165049509,PR_kwDOAMm_X840OpiU,6346,Del _FillValue from coordinates at cf_encoder,47473455,closed,0,,,1,2022-03-10T10:40:01Z,2023-06-21T16:11:55Z,2023-06-21T16:11:55Z,NONE,,0,pydata/xarray/pulls/6346," - [x] Closes #2037 - [ ] 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/6346/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1217239419,I_kwDOAMm_X85IjZl7,6523,Insufficient permissions raise IO `ValueError` instead of `PermissionError`,47473455,closed,0,,,1,2022-04-27T11:47:40Z,2023-03-26T20:30:33Z,2023-03-26T20:30:33Z,NONE,,,,"### What is your issue? I was getting the following error continuously when using `xarray.open_mfdataset`: ```bash ValueError: did not find a match in any of xarray's currently installed IO backends ['netcdf4', 'h5netcdf', 'scipy', 'cfgrib', 'pydap', 'zarr']. Consider explicitly selecting one of the installed engines via the ``engine`` parameter, or installing additional IO dependencies ``` When the file file was indeed a `netcdf4`: ```bash $ ncdump -k myfile.nc classic ``` I was running my script with the command inside a `docker` container, which uses a different user and group than myself. It seems the issue was on the permisions of the file as only my user had access: ```bash $ ls -la total 39M -rw-r----- 1 borja borja 39M Mär 23 12:15 myfile.nc ``` Changing permission rights with `chmod a+r myfile.nc` solved the thing: ```bash $ ls -la total 39M -rw-r--r-- 1 borja borja 39M Mär 23 12:15 myfile.nc ``` The permission thing is perfectly fine, it was my error, however, it would be nice that the command `open_mfdataset` (or related) would raise `PermissionError` when permissions are not sufficient.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6523/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 759270347,MDU6SXNzdWU3NTkyNzAzNDc=,4660,RecursionError when defining __slots__ on subclass using Containment,47473455,closed,0,,,4,2020-12-08T09:17:12Z,2021-01-20T08:27:01Z,2021-01-12T00:31:01Z,NONE,,,," **What happened**: Inheritance of xarray.Dataset request the addition of `__slots__`: ```python /home/borja/miniconda3/envs/o3as/lib/python3.6/abc.py:133: FutureWarning: xarray subclass Model should explicitly define __slots__ cls = super().__new__(mcls, name, bases, namespace, **kwargs) /home/borja/Projects/o3skim/o3skim/sources.py:77: FutureWarning: Setting attribute 'dataset' on a 'Model' object. Explicitly define __slots__ to suppress this warning for legitimate custom attributes and raise an error when attempting variables assignments. self.dataset = ds ``` however when added, produces **RecursionError**. **What you expected to happen**: It should be possible to use [**Containment & Delegation**](https://stackoverflow.com/questions/63338641/using-setattr-and-getattr-for-delegation-with-slots-without-triggeri) on xarray classes. **Minimal Complete Verifiable Example**: ```python import xarray class MyDSet(xarray.Dataset): __slots__ = ['dataset',] def __init__(self, ds): self.dataset = ds def __getattr__(self, k): return getattr(self.dataset, k) def __setattr__(self, k, v): setattr(self.dataset, k, v) ``` Returns: ```py >>> reload(mytest) Traceback (most recent call last): File """", line 1, in File ""/home/borja/miniconda3/envs/o3as/lib/python3.6/importlib/__init__.py"", line 166, in reload _bootstrap._exec(spec, module) File """", line 618, in _exec File """", line 678, in exec_module File """", line 219, in _call_with_frames_removed File ""/home/borja/Projects/o3skim/o3skim/mytest.py"", line 3, in class BCorrect(xarray.Dataset): File ""/home/borja/miniconda3/envs/o3as/lib/python3.6/typing.py"", line 978, in __new__ self = super().__new__(cls, name, bases, namespace, _root=True) File ""/home/borja/miniconda3/envs/o3as/lib/python3.6/typing.py"", line 137, in __new__ return super().__new__(cls, name, bases, namespace) File ""/home/borja/miniconda3/envs/o3as/lib/python3.6/abc.py"", line 133, in __new__ cls = super().__new__(mcls, name, bases, namespace, **kwargs) File ""/home/borja/miniconda3/envs/o3as/lib/python3.6/site-packages/xarray/core/common.py"", line 199, in __init_subclass__ if not hasattr(object.__new__(cls), ""__dict__""): File ""/home/borja/Projects/o3skim/o3skim/mytest.py"", line 9, in __getattr__ return getattr(self.dataset, k) File ""/home/borja/Projects/o3skim/o3skim/mytest.py"", line 9, in __getattr__ return getattr(self.dataset, k) File ""/home/borja/Projects/o3skim/o3skim/mytest.py"", line 9, in __getattr__ return getattr(self.dataset, k) [Previous line repeated 325 more times] RecursionError: maximum recursion depth exceeded ``` **Anything else we need to know?**: I would recommend to add the following test or similar to ensure it is working: ```python class X(xarray.Dataset): __slots__ = ['dataset'] def __init__(self, ds): self.dataset = ds ds = xarray.Dataset() x = X(ds) ``` **Environment**:
Output of xr.show_versions() INSTALLED VERSIONS ------------------ commit: None python: 3.6.12 |Anaconda, Inc.| (default, Sep 8 2020, 23:10:56) [GCC 7.3.0] python-bits: 64 OS: Linux OS-release: 5.4.0-56-generic machine: x86_64 processor: x86_64 byteorder: little LC_ALL: None LANG: en_US.UTF-8 LOCALE: en_US.UTF-8 libhdf5: 1.10.5 libnetcdf: 4.6.3 xarray: 0.16.2 pandas: 1.1.4 numpy: 1.19.4 scipy: 1.5.4 netCDF4: 1.5.4 pydap: None h5netcdf: None h5py: None Nio: None zarr: None cftime: 1.3.0 nc_time_axis: None PseudoNetCDF: None rasterio: None cfgrib: None iris: None bottleneck: None dask: 2.30.0 distributed: None matplotlib: None cartopy: None seaborn: None numbagg: None pint: None setuptools: 51.0.0.post20201207 pip: 20.3.1 conda: None pytest: 6.1.2 IPython: None sphinx: 3.2.1
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4660/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue