PyTreeSpec Constructor API

The optree.treespec namespace contains constructors for class optree.PyTreeSpec.

>>> import optree.treespec as treespec
>>> treespec.leaf()
PyTreeSpec(*)
>>> treespec.none()
PyTreeSpec(None)
>>> treespec.dict({'a': treespec.leaf(), 'b': treespec.leaf()})
PyTreeSpec({'a': *, 'b': *})

Added in version 0.14.1.

Check section PyTreeSpec Functions for more detailed documentation.

leaf(*[, none_is_leaf, namespace])

Make a treespec representing a leaf node.

none(*[, none_is_leaf, namespace])

Make a treespec representing a None node.

tuple([iterable, none_is_leaf, namespace])

Make a treespec representing a tuple node from child treespecs.

list([iterable, none_is_leaf, namespace])

Make a treespec representing a list node from child treespecs.

dict([mapping, none_is_leaf, namespace])

Make a treespec representing a dict node from child treespecs.

namedtuple(namedtuple, /, *[, none_is_leaf, ...])

Make a treespec representing a namedtuple node from a namedtuple of child treespecs.

ordereddict([mapping, none_is_leaf, namespace])

Make a treespec representing an OrderedDict node from child treespecs.

defaultdict([default_factory, mapping, ...])

Make a treespec representing a defaultdict node from child treespecs.

deque([iterable, maxlen, none_is_leaf, ...])

Make a treespec representing a deque node from child treespecs.

structseq(structseq, /, *[, none_is_leaf, ...])

Make a treespec representing a PyStructSequence node from a PyStructSequence of child treespecs.

from_collection(collection, /, *[, ...])

Make a treespec from a collection of child treespecs.