Accessor registry
Closes #19963 

cc @datapythonista I think this would have solved your issues w/ the validation script.
Do we want to document this as the official way to get a list of the registered accessors for an object? # [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20780?src=pr&el=h1) Report
> Merging [#20780](https://codecov.io/gh/pandas-dev/pandas/pull/20780?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/0d199e4e8bb2b9ce73a35889b49d847283fadce5?src=pr&el=desc) will **increase** coverage by `<.01%`.
> The diff coverage is `100%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/20780/graphs/tree.svg?height=150&src=pr&token=eZ4WkYLtcO&width=650)](https://codecov.io/gh/pandas-dev/pandas/pull/20780?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #20780      +/-   ##
==========================================
+ Coverage   91.84%   91.84%   +<.01%     
==========================================
  Files         153      153              
  Lines       49305    49307       +2     
==========================================
+ Hits        45284    45286       +2     
  Misses       4021     4021
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.23% <100%> (ø)` | :arrow_up: |
| #single | `41.89% <75%> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/20780?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/indexes/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/20780/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9iYXNlLnB5) | `96.68% <100%> (ø)` | :arrow_up: |
| [pandas/core/accessor.py](https://codecov.io/gh/pandas-dev/pandas/pull/20780/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYWNjZXNzb3IucHk=) | `98.71% <100%> (+0.01%)` | :arrow_up: |
| [pandas/core/series.py](https://codecov.io/gh/pandas-dev/pandas/pull/20780/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvc2VyaWVzLnB5) | `93.9% <100%> (ø)` | :arrow_up: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/20780/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.17% <100%> (ø)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20780?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20780?src=pr&el=footer). Last update [0d199e4...641f509](https://codecov.io/gh/pandas-dev/pandas/pull/20780?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 lgtm. ok to update docs / merge. > Do we want to document this as the official way to get a list of the registered accessors for an object?

Do you want to use this in eg Dask? 
If so, then maybe we should document that. I think the current preference is for authors to explicitly register their
accessors with Dask as well.

Let's leave it private for now, and if people need it later on we will
document it.

On Mon, Apr 23, 2018 at 2:29 AM, Joris Van den Bossche <
notifications@github.com> wrote:

> Do we want to document this as the official way to get a list of the
> registered accessors for an object?
>
> Do you want to use this in eg Dask?
> If so, then maybe we should document that.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/pandas-dev/pandas/pull/20780#issuecomment-383480690>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ABQHIsd868SRfXfGI3BVI_OFQJuo1BVlks5trYLVgaJpZM4TekOV>
> .
>
