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/5033#issuecomment-816214036,https://api.github.com/repos/pydata/xarray/issues/5033,816214036,MDEyOklzc3VlQ29tbWVudDgxNjIxNDAzNg==,14371165,2021-04-08T21:20:38Z,2021-04-08T21:20:38Z,MEMBER,"> Well, based on the amount of complexity a developer needs to master in order to write the backend, I would consider the registration to be a relatively trivial bit, especially because the syntax is the same as for the well known `console_script`.
Making a backend doesn't have to be super difficult either depending if you already have a nice 3rd party module you can thinly wrap to return a Dataset instead of whatever is the default
It's funny how different our backgrounds are, I don't think I've had to deal with `console_script`s.","{""total_count"": 2, ""+1"": 0, ""-1"": 0, ""laugh"": 2, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,831008649
https://github.com/pydata/xarray/pull/5033#issuecomment-816088476,https://api.github.com/repos/pydata/xarray/issues/5033,816088476,MDEyOklzc3VlQ29tbWVudDgxNjA4ODQ3Ng==,14371165,2021-04-08T19:21:10Z,2021-04-08T19:21:10Z,MEMBER,"> The first comment is that I see the point of the feature at a theoretical level, but I'm at the third external backend that I'm writing and I didn't miss it. Adding an entrypoint is very easy and works seamlessly during development.
>
> Do you have in mind any use case where this is more convenient than adding an entrypoint?
I simply want to do:
```python
from custom_backend import engine
ds = xr.load_dataset(filename, engine=engine)
```
That is much simpler than having to figure out what the **How to register a backend** is talking about. Because I'm a user who doesn't have any grand dreams (yet?) of creating public backend modules I therefore don't see the point in having to do all this extra paperwork.
>
> ... we ask backend developers to inherit from `BackendEntrypoint`, for the sake of consistency I would enforce it here as well, instead to use duck-typing.
That's not how I read the docs. If this is how we actually want it then some words in it should be replaced with ""must"" and ""requires"".
But I don't think that should be such a hard requirement when a user insists on using a custom engine this way. I see it as an advanced option where it's the users responsibility to make sure that the `engine` class has
* the open_dataset method
* the open_dataset_parameters attribute
* the guess_can_open method
Which is very simple to do, see the test for an example. Subclassing using `BackendEntrypoint` adds complexity and readability issues so I want to at least feel a little motivated to use it but there's nothing fancy going on there, is there any plans?","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,831008649
https://github.com/pydata/xarray/pull/5033#issuecomment-806373273,https://api.github.com/repos/pydata/xarray/issues/5033,806373273,MDEyOklzc3VlQ29tbWVudDgwNjM3MzI3Mw==,14371165,2021-03-25T05:24:25Z,2021-03-25T05:24:25Z,MEMBER,Maybe @aurghs or @alexamici can take a look as well?,"{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,831008649