⚡ Data classes for custom xarray creation
xarray-custom is a third-party Python package which helps to create custom DataArray classes in the same manner as the Python's native dataclass. Here is an introduction code of what the package provides:
from xarray_custom import coord, dataarrayclass
@dataarrayclass
class Image:
"""DataArray class to represent images."""
dims = 'x', 'y'
dtype = float
accessor = 'img'
x: coord('x', int) = 0
y: coord('y', int) = 0
def normalize(self):
return self / self.max()
The key features are:
# create a custom DataArray
image = Image([[0, 1], [2, 3]], x=[0, 1], y=[0, 1])
# use a custom method via an accessor
normalized = image.img.normalize()
# create a custom DataArray filled with ones
ones = Image.ones((2, 2), x=[0, 1], y=[0, 1])
- Custom DataArray instances with fixed dimensions, datatype, and coordinates can easily be created.
- NumPy-like special functions like
ones()
are provided as class methods. - Custom DataArray methods can be available via a custom accessor.
- Python: 3.6, 3.7, or 3.8 (tested by the author)
- Dependencies: See pyproject.toml
$ pip install xarray-custom
Copyright (c) 2020 Akio Taniguchi
- xarray-custom is distributed under the MIT License
- xarray-custom uses an icon of xarray distributed under the Apache 2.0 license