xarray-contrib / datatree

WIP implementation of a tree-like hierarchical data structure for xarray.
https://xarray-datatree.readthedocs.io
Apache License 2.0
161 stars 43 forks source link

Add an `attrs` keyword argument to the constructor: `DataTree(attrs={})` #333

Open eschalkargans opened 1 month ago

eschalkargans commented 1 month ago

Motive

Possibility to add attrs on DataTree instanciation. It is feasible with DataArray and Dataset.

Examples:

print(xr.DataArray([], attrs={"my_attr": 1}))

<xarray.DataArray (dim_0: 0)>
array([], dtype=float64)
Dimensions without coordinates: dim_0
Attributes:
    my_attr:  1

print(xr.Dataset({}, attrs={"my_attr": 1}))

<xarray.Dataset>
Dimensions:  ()
Data variables:
    *empty*
Attributes:
    my_attr:  1

print(dt.DataTree({}, attrs={"my_attr": 1}))

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[21], [line 1](vscode-notebook-cell:?execution_count=21&line=1)
----> [1](vscode-notebook-cell:?execution_count=21&line=1) print(dt.DataTree({}, attrs={"my_attr": 1}))

TypeError: DataTree.__init__() got an unexpected keyword argument 'attrs'