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/issues/6124#issuecomment-1007746645,https://api.github.com/repos/pydata/xarray/issues/6124,1007746645,IC_kwDOAMm_X848EP5V,221526,2022-01-07T21:16:20Z,2022-01-07T21:16:20Z,CONTRIBUTOR,"$0.02 from the peanut gallery is that my mental model of `Dataset` is that it's a dictionary on steroids, so following the `Mapping` protocol (including `__bool__`) makes sense to me. I put ""I don't know"" for @shoyer's poll, but if the question was ""should"" then I would have said ""number of variables"". While I'm not going to sit here and argue that `if ds:` is a common operation and important feature (I don't often open files that result in empty datasets), I'd personally want a truly compelling argument for breaking from the `Mapping` protocol. Right now it's ""`Dataset` works like `dict` *plus* some stuff"". It would change to be ""`Dataset` works like `dict` for all things except `__bool__`, plus some stuff"". The latter to me requires more mental effort since I'm no longer strictly supplementing past experience.","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1090229430