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