Skip to content

modflowpy/xattree

Folders and files

NameName
Last commit message
Last commit date
Mar 8, 2025
Apr 24, 2025
Apr 24, 2025
Apr 24, 2025
Feb 28, 2025
Feb 27, 2025
Feb 18, 2025
Mar 20, 2025
Mar 8, 2025
Apr 15, 2025
Feb 27, 2025
Mar 8, 2025

Repository files navigation

xattree

CI Docs GitHub contributors

attrs + xarray.DataTree = xattree

"exa-tree", or "cat tree" if you like.

import numpy as np
from numpy.typing import NDArray
from xattree import xattree, dim, array, field, ROOT 

@xattree
class Grid:
    rows: int = dim(scope=ROOT, default=3)
    cols: int = dim(scope=ROOT, default=3)

@xattree
class Arrs:
    arr: NDArray[np.float64] = array(default=0.0, dims=("rows", "cols"))

@xattree
class Root:
    grid: Grid = field()
    arrs: Arrs = field()

grid = Grid()
root = Root(grid=grid)
arrs = Arrs(parent=root)
root.data
<xarray.DataTree 'root'>
Group: /Dimensions:  (rows: 3, cols: 3)
│   Coordinates:
│     * rows      (rows) int64 24B 0 1 2* cols      (cols) int64 24B 0 1 2
├── Group: /gridAttributes:
│           rows:     3cols:     3
└── Group: /arrs
        Dimensions:  (rows: 3, cols: 3)
        Data variables:
            arr      (rows, cols) float64 72B 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

Releases

No releases published

Packages

No packages published

Languages