# Backends

| [`backends.BackendArray`](../generated/xarray.backends.BackendArray.html.md#xarray.backends.BackendArray)()           |                                                                                                                                                                                                         |
|-----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`backends.BackendEntrypoint`](../generated/xarray.backends.BackendEntrypoint.html.md#xarray.backends.BackendEntrypoint)() | `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). |
| [`backends.list_engines`](../generated/xarray.backends.list_engines.html.md#xarray.backends.list_engines)()           | Return a dictionary of available engines and their BackendEntrypoint objects.                                                                                                                           |
| [`backends.refresh_engines`](../generated/xarray.backends.refresh_engines.html.md#xarray.backends.refresh_engines)()     | Refreshes the backend engines based on installed packages.                                                                                                                                              |

These backends provide a low-level interface for lazily loading data from
external file-formats or protocols, and can be manually invoked to create
arguments for the `load_store` and `dump_to_store` Dataset methods:

| [`backends.NetCDF4DataStore`](../generated/xarray.backends.NetCDF4DataStore.html.md#xarray.backends.NetCDF4DataStore)(manager[, group, ...])     | Store for reading and writing data via the Python-NetCDF4 library.       |
|----------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------|
| [`backends.H5NetCDFStore`](../generated/xarray.backends.H5NetCDFStore.html.md#xarray.backends.H5NetCDFStore)(manager[, group, ...])           | Store for reading and writing data via h5netcdf                          |
| [`backends.PydapDataStore`](../generated/xarray.backends.PydapDataStore.html.md#xarray.backends.PydapDataStore)(dataset[, group, ...])         | Store for accessing OpenDAP datasets with pydap.                         |
| [`backends.ScipyDataStore`](../generated/xarray.backends.ScipyDataStore.html.md#xarray.backends.ScipyDataStore)(filename_or_obj[, ...])        | Store for reading and writing data via scipy.io.netcdf_file.             |
| [`backends.ZarrStore`](../generated/xarray.backends.ZarrStore.html.md#xarray.backends.ZarrStore)(zarr_group[, mode, ...])                 | Store for reading and writing data via zarr                              |
| [`backends.FileManager`](../generated/xarray.backends.FileManager.html.md#xarray.backends.FileManager)()                                    | Manager for acquiring and closing a file object.                         |
| [`backends.CachingFileManager`](../generated/xarray.backends.CachingFileManager.html.md#xarray.backends.CachingFileManager)(opener, \*args[, ...]) | Wrapper for automatically opening and closing file objects.              |
| [`backends.DummyFileManager`](../generated/xarray.backends.DummyFileManager.html.md#xarray.backends.DummyFileManager)(value, \*[, close, ...])   | FileManager that simply wraps an open file in the FileManager interface. |

These BackendEntrypoints provide a basic interface to the most commonly
used filetypes in the xarray universe.

| [`backends.NetCDF4BackendEntrypoint`](../generated/xarray.backends.NetCDF4BackendEntrypoint.html.md#xarray.backends.NetCDF4BackendEntrypoint)()   | Backend for netCDF files based on the netCDF4 package.                                                                                    |
|---------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
| [`backends.H5netcdfBackendEntrypoint`](../generated/xarray.backends.H5netcdfBackendEntrypoint.html.md#xarray.backends.H5netcdfBackendEntrypoint)() | Backend for netCDF files based on the h5netcdf package.                                                                                   |
| [`backends.PydapBackendEntrypoint`](../generated/xarray.backends.PydapBackendEntrypoint.html.md#xarray.backends.PydapBackendEntrypoint)()       | Backend for steaming datasets over the internet using the Data Access Protocol, also known as DODS or OPeNDAP based on the pydap package. |
| [`backends.ScipyBackendEntrypoint`](../generated/xarray.backends.ScipyBackendEntrypoint.html.md#xarray.backends.ScipyBackendEntrypoint)()       | Backend for netCDF files based on the scipy package.                                                                                      |
| [`backends.StoreBackendEntrypoint`](../generated/xarray.backends.StoreBackendEntrypoint.html.md#xarray.backends.StoreBackendEntrypoint)()       |                                                                                                                                           |
| [`backends.ZarrBackendEntrypoint`](../generated/xarray.backends.ZarrBackendEntrypoint.html.md#xarray.backends.ZarrBackendEntrypoint)()         | Backend for ".zarr" files based on the zarr package.                                                                                      |
