|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"""The :mod:`optree.treespec` namespace contains constructors for class :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': *}) |
|
|
|
|
|
.. versionadded:: 0.14.1 |
|
|
""" |
|
|
|
|
|
from __future__ import annotations |
|
|
|
|
|
from optree.ops import treespec_defaultdict as defaultdict |
|
|
from optree.ops import treespec_deque as deque |
|
|
from optree.ops import treespec_dict as dict |
|
|
from optree.ops import treespec_from_collection as from_collection |
|
|
from optree.ops import treespec_leaf as leaf |
|
|
from optree.ops import treespec_list as list |
|
|
from optree.ops import treespec_namedtuple as namedtuple |
|
|
from optree.ops import treespec_none as none |
|
|
from optree.ops import treespec_ordereddict as ordereddict |
|
|
from optree.ops import treespec_structseq as structseq |
|
|
from optree.ops import treespec_tuple as tuple |
|
|
|
|
|
|
|
|
__all__ = [ |
|
|
'leaf', |
|
|
'none', |
|
|
'tuple', |
|
|
'list', |
|
|
'dict', |
|
|
'namedtuple', |
|
|
'ordereddict', |
|
|
'defaultdict', |
|
|
'deque', |
|
|
'structseq', |
|
|
'from_collection', |
|
|
] |
|
|
|