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-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-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