MCPcopy Index your code
hub / github.com/pydata/xarray / RenderDataTree

Class RenderDataTree

xarray/core/datatree_render.py:79–299  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

77
78
79class RenderDataTree:
80 def __init__(
81 self,
82 node: DataTree,
83 style=None,
84 childiter: type = list,
85 maxlevel: int | None = None,
86 maxchildren: int | None = None,
87 ):
88 """
89 Render tree starting at `node`.
90 Keyword Args:
91 style (AbstractStyle): Render Style.
92 childiter: Child iterator. Note, due to the use of node.children.values(),
93 Iterables that change the order of children cannot be used
94 (e.g., `reversed`).
95 maxlevel: Limit rendering to this depth.
96 maxchildren: Limit number of children at each node.
97 :any:`RenderDataTree` is an iterator, returning a tuple with 3 items:
98 `pre`
99 tree prefix.
100 `fill`
101 filling for multiline entries.
102 `node`
103 :any:`NodeMixin` object.
104 It is up to the user to assemble these parts to a whole.
105
106 Examples
107 --------
108
109 >>> from xarray import Dataset
110 >>> from xarray.core.datatree import DataTree
111 >>> from xarray.core.datatree_render import RenderDataTree
112 >>> root = DataTree.from_dict(
113 ... {
114 ... "/": Dataset({"a": 0, "b": 1}),
115 ... "/sub0": Dataset({"c": 2, "d": 3}),
116 ... "/sub0/sub0B": Dataset({"e": 4}),
117 ... "/sub0/sub0A": Dataset({"f": 5, "g": 6}),
118 ... "/sub1": Dataset({"h": 7}),
119 ... },
120 ... name="root",
121 ... )
122
123 # Simple one line:
124
125 >>> for pre, _, node in RenderDataTree(root):
126 ... print(f"{pre}{node.name}")
127 ...
128 root
129 ├── sub0
130 │ ├── sub0B
131 │ └── sub0A
132 └── sub1
133
134 # Multiline:
135
136 >>> for pre, fill, node in RenderDataTree(root):

Callers 1

datatree_reprFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…