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/6971#issuecomment-1259349072,https://api.github.com/repos/pydata/xarray/issues/6971,1259349072,IC_kwDOAMm_X85LECRQ,4160723,2022-09-27T11:14:07Z,2022-09-27T11:14:07Z,MEMBER,"In the last commit I added the `xarray.indexes` namespace from which we can import `Index`, `PandasIndex` and `PandasMultiIndex`. Thanks everyone for the feedback and review! I think this is ready to merge, if we agree to address the `coord_names` typing issue in another PR?","{""total_count"": 4, ""+1"": 4, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1357296406 https://github.com/pydata/xarray/pull/6971#issuecomment-1246916994,https://api.github.com/repos/pydata/xarray/issues/6971,1246916994,IC_kwDOAMm_X85KUnGC,35968931,2022-09-14T15:11:49Z,2022-09-14T15:11:49Z,MEMBER,"I personally would still choose to put indexes stuff in a separate namespace, just because it's neater, but I can see it's borderline. On Wed, 14 Sep 2022, 06:33 Benoit Bovy, ***@***.***> wrote: > Have you thought about whether we might want to expose a separate public > xarray.indexes namespace? > > Yes I've been thinking about it and I agree I find it cleaner than > exposing all of this in Xarray's main namespace. There's a few (minor) > cons, though: > > - I think the indexes.py and indexing.py modules and their content are > well located in core > - We could create a xarray/indexes/__init__.py and import there a few > ""public"" classes from core, but is it worth it? I'm not sure if the > number of Xarray built-in indexes will grow much beyond PandasIndex > and PandasMultiIndex. Perhaps it's preferable not? > - Things like CFTimeIndex are already imported in Xarray's main > namespace > > — > Reply to this email directly, view it on GitHub > , > or unsubscribe > > . > You are receiving this because you commented.Message ID: > ***@***.***> > ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1357296406 https://github.com/pydata/xarray/pull/6971#issuecomment-1246569430,https://api.github.com/repos/pydata/xarray/issues/6971,1246569430,IC_kwDOAMm_X85KTSPW,4160723,2022-09-14T10:33:17Z,2022-09-14T10:33:17Z,MEMBER,"> Have you thought about whether we might want to expose a separate public xarray.indexes namespace? Yes I've been thinking about it and I agree I find it cleaner than exposing all of this in Xarray's main namespace. There's a few (minor) cons, though: - I think the `indexes.py` and `indexing.py` modules and their content are well located in `core` - We could create a `xarray/indexes/__init__.py` and import there a few ""public"" classes from `core`, but is it worth it? I'm not sure if the number of Xarray built-in indexes will grow much beyond `PandasIndex` and `PandasMultiIndex`. Perhaps it's preferable not? - Things like `CFTimeIndex` are already imported in Xarray's main namespace","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1357296406 https://github.com/pydata/xarray/pull/6971#issuecomment-1246201402,https://api.github.com/repos/pydata/xarray/issues/6971,1246201402,IC_kwDOAMm_X85KR4Y6,35968931,2022-09-14T04:00:22Z,2022-09-14T04:00:22Z,MEMBER,"> In this PR I also imported the Index base class in Xarray's root namespace. > > It is needed for custom indexes and it's just a little more convenient than importing it from xarray.core.indexes. Should we do the same for PandasIndex and PandasMultiIndex subclasses? Maybe if one wants to create a custom index inheriting from it. PandasMultiIndex factory methods could be also useful if we depreciate passing pd.MultiIndex objects as DataArray / Dataset coordinates. Have you thought about whether we might want to expose a separate public `xarray.indexes` namespace? Then as the list of helpers for creating custom index objects grows they could live in there, so we might have `xarray.Index`, but `xarray.indexes.PandasIndex`, `xarray.indexes.PandasMultiIndex`, `xarray.indexes.PeriodicBoundaryIndex`, `xarray.indexes.OtherDomainAgnosticIndex` etc. all listed in the docs API page ?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1357296406 https://github.com/pydata/xarray/pull/6971#issuecomment-1239114118,https://api.github.com/repos/pydata/xarray/issues/6971,1239114118,IC_kwDOAMm_X85J22GG,4160723,2022-09-07T09:03:46Z,2022-09-07T09:03:46Z,MEMBER,"> Should we make the index_cls argument of set_xindex optional? I ended up doing it. It is convenient for setting a pandas index for a non-dimension coordinate, which is currently not possible to do with `set_index()`. For unindexed dimension coordinates (e.g., now possible after renaming coordinates or dimensions), I find the syntax `set_index(x=""x"")` a bit weird compared to `set_xindex(""x"")`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1357296406 https://github.com/pydata/xarray/pull/6971#issuecomment-1232960157,https://api.github.com/repos/pydata/xarray/issues/6971,1232960157,IC_kwDOAMm_X85JfXqd,4160723,2022-08-31T13:45:26Z,2022-08-31T13:45:26Z,MEMBER,"BTW, viewing pull-request doc builds on RTD seems broken? Clicking on the ""Details"" link of the corresponding check leads to a 404.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1357296406 https://github.com/pydata/xarray/pull/6971#issuecomment-1232946098,https://api.github.com/repos/pydata/xarray/issues/6971,1232946098,IC_kwDOAMm_X85JfUOy,4160723,2022-08-31T13:33:42Z,2022-08-31T13:34:36Z,MEMBER,"Also, since `.drop_indexes` is new API I didn't feel the need to implement the old behavior regarding pandas multi-indexes (restored in #6592 and #6798 but deprecated anyway). @dcherian what do you think?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1357296406