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 2180447578,PR_kwDOAMm_X85pUKwG,8821,Add small test exposing issue from #7794 and suggestion for `_wrap_numpy_scalars` fix,81219,open,0,,,1,2024-03-11T23:40:17Z,2024-04-03T18:53:28Z,,CONTRIBUTOR,,0,pydata/xarray/pulls/8821,"`_wrap_numpy_scalars` relies on `np.isscalar`, which incorrectly labels a single cftime object as not a scalar. ```python import cftime import numpy as np c = cftime.datetime(2000, 1, 1, calendar='360_day') np.isscalar(c) # False ``` The PR adds logic to handle non-numpy objects using the `np.ndim` function. The logic for built-ins and numpy objects should remain the same. The function logic could possibly be rewritten more clearly as ```python if hasattr(array, ""dtype""): if np.isscalar(array): return np.array(array) else: return array if np.ndim(array) == 0: return np.array(array) return array ``` - [x] Closes #7794 - [x] 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/8821/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull