# xarray.backends.BackendEntrypoint

### *class* xarray.backends.BackendEntrypoint[[source]](https://github.com/pydata/xarray/blob/main/xarray/backends/common.py#L727-L830)

`BackendEntrypoint` is a class container and it is the main interface
for the backend plugins, see [BackendEntrypoint subclassing](../internals/how-to-add-new-backend.html.md#rst-backend-entrypoint).
It shall implement:

- `open_dataset` method: it shall implement reading from file, variables
  decoding and it returns an instance of [`Dataset`](xarray.Dataset.html.md#xarray.Dataset).
  It shall take in input at least `filename_or_obj` argument and
  `drop_variables` keyword argument.
  For more details see [open_dataset](../internals/how-to-add-new-backend.html.md#rst-open-dataset).
- `guess_can_open` method: it shall return `True` if the backend is able to open
  `filename_or_obj`, `False` otherwise. The implementation of this
  method is not mandatory.
- `open_datatree` method: it shall implement reading from file, variables
  decoding and it returns an instance of `DataTree`.
  It shall take in input at least `filename_or_obj` argument. The
  implementation of this method is not mandatory.  For more details see
  <reference to open_datatree documentation>.

#### open_dataset_parameters

A list of `open_dataset` method parameters.
The setting of this attribute is not mandatory.

* **Type:**
  [`tuple`](https://docs.python.org/3/builtins/stdtypes.html#tuple), *default*: [`None`](https://docs.python.org/3/builtins/constants.html#None)

#### description

A short string describing the engine.
The setting of this attribute is not mandatory.

* **Type:**
  [`str`](https://docs.python.org/3/builtins/stdtypes.html#str), *default*: `""`

#### url

A string with the URL to the backend’s documentation.
The setting of this attribute is not mandatory.

* **Type:**
  [`str`](https://docs.python.org/3/builtins/stdtypes.html#str), *default*: `""`

#### supports_groups

Whether the backend supports opening groups (via open_datatree and
open_groups_as_dict) or not.

* **Type:**
  [`bool`](https://docs.python.org/3/builtins/functions.html#bool), *default*: [`False`](https://docs.python.org/3/builtins/constants.html#False)

#### \_\_init_\_()

### Methods

| [`__init__`](#xarray.backends.BackendEntrypoint.__init__)()                                                                              |                                                                                                                                       |
|------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
| [`guess_can_open`](xarray.backends.BackendEntrypoint.guess_can_open.html.md#xarray.backends.BackendEntrypoint.guess_can_open)(filename_or_obj)        | Backend open_dataset method used by Xarray in [`open_dataset()`](xarray.open_dataset.html.md#xarray.open_dataset).    |
| [`open_dataset`](xarray.backends.BackendEntrypoint.open_dataset.html.md#xarray.backends.BackendEntrypoint.open_dataset)(filename_or_obj, \*[, ...]) | Backend open_dataset method used by Xarray in [`open_dataset()`](xarray.open_dataset.html.md#xarray.open_dataset).    |
| `open_datatree`(filename_or_obj, \*[, ...])                                                                                              | Backend open_datatree method used by Xarray in [`open_datatree()`](xarray.open_datatree.html.md#xarray.open_datatree). |
| `open_groups_as_dict`(filename_or_obj, \*[, ...])                                                                                        | Opens a dictionary mapping from group names to Datasets.                                                                              |

### Attributes

| [`description`](#xarray.backends.BackendEntrypoint.description)             |    |
|--------------------------------------------------------------------------|----|
| [`open_dataset_parameters`](#xarray.backends.BackendEntrypoint.open_dataset_parameters) |    |
| [`supports_groups`](#xarray.backends.BackendEntrypoint.supports_groups)         |    |
| [`url`](#xarray.backends.BackendEntrypoint.url)                     |    |
