# 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.    |
| [`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`` -->
