# Advanced API

The methods and properties here are advanced API and not recommended for use unless you know what you are doing.

| [`Dataset.variables`](../generated/xarray.Dataset.variables.html.md#xarray.Dataset.variables)                             | Low level interface to Dataset contents as dict of Variable objects.                                |
|-------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
| [`DataArray.variable`](../generated/xarray.DataArray.variable.html.md#xarray.DataArray.variable)                           | Low level interface to the Variable object for this DataArray.                                      |
| [`DataTree.variables`](../generated/xarray.DataTree.variables.html.md#xarray.DataTree.variables)                           | Low level interface to node contents as dict of Variable objects.                                   |
| [`Variable`](../generated/xarray.Variable.html.md#xarray.Variable)(dims, data[, attrs, encoding, fastpath])      | A netcdf-like variable consisting of dimensions, data and attributes which describe a single Array. |
| [`IndexVariable`](../generated/xarray.IndexVariable.html.md#xarray.IndexVariable)(dims, data[, attrs, encoding, ...]) | Wrapper for accommodating a pandas.Index in an xarray.Variable.                                     |
| [`as_variable`](../generated/xarray.as_variable.html.md#xarray.as_variable)(obj[, name, auto_convert])              | Convert an object into a Variable.                                                                  |
| [`Context`](../generated/xarray.Context.html.md#xarray.Context)(func)                                           | object carrying the information of a call                                                           |
| [`register_dataset_accessor`](../generated/xarray.register_dataset_accessor.html.md#xarray.register_dataset_accessor)(name)       | Register a custom property on xarray.Dataset objects.                                               |
| [`register_dataarray_accessor`](../generated/xarray.register_dataarray_accessor.html.md#xarray.register_dataarray_accessor)(name)   | Register a custom accessor on xarray.DataArray objects.                                             |
| [`register_datatree_accessor`](../generated/xarray.register_datatree_accessor.html.md#xarray.register_datatree_accessor)(name)     | Register a custom accessor on DataTree objects.                                                     |
| [`Dataset.set_close`](../generated/xarray.Dataset.set_close.html.md#xarray.Dataset.set_close)(close)                      | Register the function that releases any resources linked to this object.                            |
<!-- .. -->
<!-- Missing: -->
<!-- ``DataTree.set_close`` -->
