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 tuple treespec from an iterable of child treespecs.

list([iterable, none_is_leaf, namespace])

Make a list treespec from an iterable of child treespecs.

dict([mapping, none_is_leaf, namespace])

Make a dict treespec from a dict of child treespecs.

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

Make a namedtuple treespec from a namedtuple of child treespecs.

ordereddict([mapping, none_is_leaf, namespace])

Make an OrderedDict treespec from an OrderedDict of child treespecs.

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

Make a defaultdict treespec from a defaultdict of child treespecs.

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

Make a deque treespec from a deque of child treespecs.

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

Make a PyStructSequence treespec from a PyStructSequence of child treespecs.

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

Make a treespec from a collection of child treespecs.