Skip to main content

OpTree

Python 3.9+ PyPI GitHub Workflow Status GitHub Workflow Status Codecov Documentation Status Downloads GitHub Repo Stars

Optimized PyTree Utilities.


Table of Contents


Installation

Install from PyPI (PyPI / Status):

pip3 install --upgrade optree

Install from conda-forge (conda-forge):

conda install conda-forge::optree

Install the latest version from GitHub:

pip3 install git+https://github.com/metaopt/optree.git

Or, clone this repo and install manually:

git clone --depth=1 https://github.com/metaopt/optree.git && cd optree

pip3 install .

The following options are available while building the Python C extension from source:

export CMAKE_COMMAND="/path/to/custom/cmake"
export CMAKE_BUILD_TYPE="Debug"
export CMAKE_CXX_STANDARD="20"  # C++17 is tested on Linux/macOS (C++20 is required on Windows)
export OPTREE_CXX_WERROR="OFF"
export _GLIBCXX_USE_CXX11_ABI="1"  # set to 0 to use the old libstdc++ ABI
export _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR="1"  # set to "" to disable the workaround for MSVC mutex layout change in VS 2022 v17.10+
export pybind11_DIR="/path/to/custom/pybind11"

pip3 install .

Compiling from source requires Python 3.9+, a C++ compiler (g++ / clang++ / icpx / cl.exe) that supports C++20, and a cmake installation.


PyTrees

A PyTree is a recursive structure that can be an arbitrarily nested Python container (e.g., tuple, list, dict, OrderedDict, namedtuple, etc.) and/or an opaque Python object. The key concepts of tree operations are tree flattening and its inverse (unflattening). Additional tree operations can be built from these two primitives (e.g., tree_map = tree_unflatten ∘ map ∘ tree_flatten).

Tree flattening traverses the entire tree in a left-to-right depth-first manner and returns the leaves in a deterministic order.

>>> tree = {'b': (2, [3, 4]), 'a': 1, 'c': 5, 'd': 6}
>>> optree.tree_flatten(tree)
([1, 2, 3, 4, 5, 6], PyTreeSpec({'a': *, 'b': (*, [*, *]), 'c': *, 'd': *}))
>>> optree.tree_flatten(1)
([1], PyTreeSpec(*))
>>> optree.tree_flatten(None)
([], PyTreeSpec(None))
>>> optree.tree_map(lambda x: x**2, tree)
{'b': (4, [9, 16]), 'a': 1, 'c': 25, 'd': 36}

This usually implies that equal pytrees produce equal lists of leaves and the same tree structure. See also section Key Ordering for Dictionaries.

>>> {'a': [1, 2], 'b': [3]} == {'b': [3], 'a': [1, 2]}
True
>>> optree.tree_leaves({'a': [1, 2], 'b': [3]}) == optree.tree_leaves({'b': [3], 'a': [1, 2]})
True
>>> optree.tree_structure({'a': [1, 2], 'b': [3]}) == optree.tree_structure({'b': [3], 'a': [1, 2]})
True
>>> optree.tree_map(lambda x: x**2, {'a': [1, 2], 'b': [3]})
{'a': [1, 4], 'b': [9]}
>>> optree.tree_map(lambda x: x**2, {'b': [3], 'a': [1, 2]})
{'b': [9], 'a': [1, 4]}

[!TIP]

Since OpTree v0.14.1, a new namespace optree.pytree is introduced as aliases for optree.tree_* functions. The following examples are equivalent to the above:

>>> import optree.pytree as pt
>>> tree = {'b': (2, [3, 4]), 'a': 1, 'c': 5, 'd': 6}
>>> pt.flatten(tree)
([1, 2, 3, 4, 5, 6], PyTreeSpec({'a': *, 'b': (*, [*, *]), 'c': *, 'd': *}))
>>> pt.flatten(1)
([1], PyTreeSpec(*))
>>> pt.flatten(None)
([], PyTreeSpec(None))
>>> pt.map(lambda x: x**2, tree)
{'b': (4, [9, 16]), 'a': 1, 'c': 25, 'd': 36}
>>> pt.map(lambda x: x**2, {'a': [1, 2], 'b': [3]})
{'a': [1, 4], 'b': [9]}
>>> pt.map(lambda x: x**2, {'b': [3], 'a': [1, 2]})
{'b': [9], 'a': [1, 4]}

Since OpTree v0.16.0, a re-export API optree.pytree.reexport(...) is available to create a new module that exports all the optree.pytree APIs with a given namespace. This is useful for downstream libraries to create their own pytree utilities without passing the namespace argument explicitly.

# foo/__init__.py
import optree
pytree = optree.pytree.reexport(namespace='foo')
del optree

# foo/bar.py
from foo import pytree

@pytree.dataclasses.dataclass
class Bar:
    a: int
    b: float

# User code
>>> import foo

>>> foo.pytree.flatten({'a': 1, 'b': 2, 'c': foo.bar.Bar(3, 4.0)})
(
    [1, 2, 3, 4.0],
    PyTreeSpec({'a': *, 'b': *, 'c': CustomTreeNode(Bar[()], [*, *])}, namespace='foo')
)

>>> foo.pytree.functools.reduce(lambda x, y: x * y, {'a': 1, 'b': 2, 'c': foo.bar.Bar(3, 4.0)})
24.0

Tree Nodes and Leaves

A tree is a collection of non-leaf nodes and leaf nodes, where the leaf nodes are opaque objects having no children to flatten. optree.tree_flatten(...) will flatten the tree and return a list of leaf nodes while the non-leaf nodes will be stored in the tree structure specification.

Built-in PyTree Node Types

OpTree out-of-the-box supports the following Python container types in the global registry:

These types are considered non-leaf nodes in the tree. Python objects whose type is not registered are treated as leaf nodes. The registry lookup uses the is operator to determine whether the type matches, so subclasses need to be registered explicitly; otherwise, their instances will be treated as leaves. The NoneType is a special case discussed in section None is Non-leaf Node vs. None is Leaf.

Registering a Container-like Custom Type as Non-leaf Nodes

A container-like Python type can be registered in the type registry with a pair of functions that specify:

  • flatten_func(container) -> (children, metadata, entries): convert an instance of the container type to a (children, metadata, entries) triple, where children is an iterable of subtrees and entries is an iterable of path entries of the container (e.g., indices or keys).
  • unflatten_func(metadata, children) -> container: convert such a pair back to an instance of the container type.

The metadata is some necessary data apart from the children to reconstruct the container, e.g., the keys of the dictionary (the children are values).

The entries can be omitted (only return a pair) or are optional to implement (return None). If so, use range(len(children)) (i.e., flat indices) as path entries of the current node. The signature for the flatten function can be one of the following:

  • flatten_func(container) -> (children, metadata, entries)
  • flatten_func(container) -> (children, metadata, None)
  • flatten_func(container) -> (children, metadata)

The following examples show how to register custom types and use them with tree_flatten and tree_map. Please refer to section Notes about the PyTree Type Registry for more information.

# Register a custom type with lambda functions
optree.register_pytree_node(
    set,
    lambda s: (sorted(s), None),  # flatten: (set) -> (children, metadata)
    lambda _, children: set(children),  # unflatten: (metadata, children) -> set
    namespace='set',
)

# Register a custom type into a namespace with accessor support
import types


# This can be whatever your container type is.
class MyContainer(types.SimpleNamespace):
    """A simple container type based on SimpleNamespace."""


# (Optional) Define a custom path entry type for your container for accessor support.
# Here we showcase how to define one. In practice, you can use the built-in `optree.GetAttrEntry`.
class MyContainerEntry(optree.PyTreeEntry):
    def __call__(self, obj):
        return getattr(obj, self.entry)

    def codify(self, node=''):
        return f'{node}.{self.entry}'


optree.register_pytree_node(
    MyContainer,
    flatten_func=lambda ct: (  # flatten: (MyContainer) -> (children, metadata, entries)
        list(vars(ct).values()),
        list(vars(ct).keys()),
        list(vars(ct).keys()),
    ),
    unflatten_func=lambda keys, values: (  # unflatten: (metadata, children) -> MyContainer
        MyContainer(**dict(zip(keys, values)))
    ),
    path_entry_type=MyContainerEntry,
    namespace='mycontainer',
)
>>> tree = {'config': MyContainer(lr=0.01, momentum=0.9), 'steps': 1000}

# Flatten without specifying the namespace
>>> optree.tree_flatten(tree)  # `MyContainer`s are leaf nodes
([MyContainer(lr=0.01, momentum=0.9), 1000], PyTreeSpec({'config': *, 'steps': *}))

# Flatten with the namespace
>>> leaves, treespec = optree.tree_flatten(tree, namespace='mycontainer')
>>> leaves, treespec
(
    [0.01, 0.9, 1000],
    PyTreeSpec(
        {
            'config': CustomTreeNode(MyContainer[['lr', 'momentum']], [*, *]),
            'steps': *
        },
        namespace='mycontainer'
    )
)

# Custom `entries` are defined as attribute names
>>> optree.tree_paths(tree, namespace='mycontainer')
[('config', 'lr'), ('config', 'momentum'), ('steps',)]

# Custom path entry type defines the pytree access behavior
>>> optree.tree_accessors(tree, namespace='mycontainer')
[
    PyTreeAccessor(*['config'].lr, (MappingEntry(key='config', type=<class 'dict'>), MyContainerEntry(entry='lr', type=<class 'MyContainer'>))),
    PyTreeAccessor(*['config'].momentum, (MappingEntry(key='config', type=<class 'dict'>), MyContainerEntry(entry='momentum', type=<class 'MyContainer'>))),
    PyTreeAccessor(*['steps'], (MappingEntry(key='steps', type=<class 'dict'>),))
]

# Unflatten back to a copy of the original object
>>> optree.tree_unflatten(treespec, leaves)
{'config': MyContainer(lr=0.01, momentum=0.9), 'steps': 1000}

Users can also extend the pytree registry by decorating the custom class and defining an instance method __tree_flatten__ and a class method __tree_unflatten__.

from collections import UserDict


@optree.register_pytree_node_class(namespace='mydict')
class MyDict(UserDict):
    TREE_PATH_ENTRY_TYPE = optree.MappingEntry  # used by accessor APIs

    def __tree_flatten__(self):  # -> (children, metadata, entries)
        reversed_keys = sorted(self.keys(), reverse=True)
        return (
            [self[key] for key in reversed_keys],  # children
            reversed_keys,  # metadata
            reversed_keys,  # entries
        )

    @classmethod
    def __tree_unflatten__(cls, metadata, children):
        return cls(zip(metadata, children))
>>> tree = MyDict(b=4, a=(2, 3), c=MyDict({'d': 5, 'f': 6}))

# Flatten without specifying the namespace
>>> optree.tree_flatten_with_path(tree)  # `MyDict`s are leaf nodes
(
    [()],
    [MyDict(b=4, a=(2, 3), c=MyDict({'d': 5, 'f': 6}))],
    PyTreeSpec(*)
)

# Flatten with the namespace
>>> optree.tree_flatten_with_path(tree, namespace='mydict')
(
    [('c', 'f'), ('c', 'd'), ('b',), ('a', 0), ('a', 1)],
    [6, 5, 4, 2, 3],
    PyTreeSpec(
        CustomTreeNode(MyDict[['c', 'b', 'a']], [CustomTreeNode(MyDict[['f', 'd']], [*, *]), *, (*, *)]),
        namespace='mydict'
    )
)
>>> optree.tree_flatten_with_accessor(tree, namespace='mydict')
(
    [
        PyTreeAccessor(*['c']['f'], (MappingEntry(key='c', type=<class 'MyDict'>), MappingEntry(key='f', type=<class 'MyDict'>))),
        PyTreeAccessor(*['c']['d'], (MappingEntry(key='c', type=<class 'MyDict'>), MappingEntry(key='d', type=<class 'MyDict'>))),
        PyTreeAccessor(*['b'], (MappingEntry(key='b', type=<class 'MyDict'>),)),
        PyTreeAccessor(*['a'][0], (MappingEntry(key='a', type=<class 'MyDict'>), SequenceEntry(index=0, type=<class 'tuple'>))),
        PyTreeAccessor(*['a'][1], (MappingEntry(key='a', type=<class 'MyDict'>), SequenceEntry(index=1, type=<class 'tuple'>)))
    ],
    [6, 5, 4, 2, 3],
    PyTreeSpec(
        CustomTreeNode(MyDict[['c', 'b', 'a']], [CustomTreeNode(MyDict[['f', 'd']], [*, *]), *, (*, *)]),
        namespace='mydict'
    )
)

Notes about the PyTree Type Registry

There are several key attributes of the pytree type registry:

  1. The type registry is per-interpreter. Registering a custom type affects all modules that use OpTree in the same interpreter. Each interpreter (including subinterpreters) maintains its own registry, while child processes forked via multiprocessing inherit a copy.

[!WARNING] For safety reasons, a namespace must be specified while registering a custom type. It is used to isolate the behavior of flattening and unflattening a pytree node type. This is to prevent accidental collisions between different libraries that may register the same type.

  1. Duplicate registration is not allowed. Registering the same type in the same namespace a second time raises an error. To update the behavior, first call unregister_pytree_node(cls, namespace=...) and then re-register. Alternatively, register the type under a different namespace.

    [!WARNING] Any PyTreeSpec objects created before the unregistration still hold a reference to the old registration. Unflattening such a PyTreeSpec will use the old unflatten_func, not the newly registered one.

  2. Built-in types cannot be re-registered. The behavior of the types listed in Built-in PyTree Node Types (e.g., key-sorted traversal for dict, collections.defaultdict, and frozendict) is fixed.

  3. Inherited subclasses are not implicitly registered. The registry lookup uses type(obj) is registered_type rather than isinstance(obj, registered_type). Users need to register the subclasses explicitly. To register all subclasses, it is easy to implement with metaclass or __init_subclass__, for example:

    from collections import UserDict
    
    
    @optree.register_pytree_node_class(namespace='mydict')
    class MyDict(UserDict):
        TREE_PATH_ENTRY_TYPE = optree.MappingEntry  # used by accessor APIs
    
        def __init_subclass__(cls):  # define this in the base class
            super().__init_subclass__()
            # Register a subclass to namespace 'mydict'
            optree.register_pytree_node_class(cls, namespace='mydict')
    
        def __tree_flatten__(self):  # -> (children, metadata, entries)
            reversed_keys = sorted(self.keys(), reverse=True)
            return (
                [self[key] for key in reversed_keys],  # children
                reversed_keys,  # metadata
                reversed_keys,  # entries
            )
    
        @classmethod
        def __tree_unflatten__(cls, metadata, children):
            return cls(zip(metadata, children))
    
    
    # Subclasses will be automatically registered in namespace 'mydict'
    class MyAnotherDict(MyDict):
        pass
    
    >>> tree = MyDict(b=4, a=(2, 3), c=MyAnotherDict({'d': 5, 'f': 6}))
    >>> optree.tree_flatten_with_path(tree, namespace='mydict')
    (
        [('c', 'f'), ('c', 'd'), ('b',), ('a', 0), ('a', 1)],
        [6, 5, 4, 2, 3],
        PyTreeSpec(
            CustomTreeNode(MyDict[['c', 'b', 'a']], [CustomTreeNode(MyAnotherDict[['f', 'd']], [*, *]), *, (*, *)]),
            namespace='mydict'
        )
    )
    >>> optree.tree_accessors(tree, namespace='mydict')
    [
        PyTreeAccessor(*['c']['f'], (MappingEntry(key='c', type=<class 'MyDict'>), MappingEntry(key='f', type=<class 'MyAnotherDict'>))),
        PyTreeAccessor(*['c']['d'], (MappingEntry(key='c', type=<class 'MyDict'>), MappingEntry(key='d', type=<class 'MyAnotherDict'>))),
        PyTreeAccessor(*['b'], (MappingEntry(key='b', type=<class 'MyDict'>),)),
        PyTreeAccessor(*['a'][0], (MappingEntry(key='a', type=<class 'MyDict'>), SequenceEntry(index=0, type=<class 'tuple'>))),
        PyTreeAccessor(*['a'][1], (MappingEntry(key='a', type=<class 'MyDict'>), SequenceEntry(index=1, type=<class 'tuple'>)))
    ]
    
  4. Beware of infinite recursion in custom flatten functions. The returned children are recursively flattened and may have the same type as the current node. Ensure your flatten function has a proper termination condition.

    import numpy as np
    import torch
    
    optree.register_pytree_node(
        np.ndarray,
        # Children are nested lists of Python objects
        lambda array: (np.atleast_1d(array).tolist(), array.ndim == 0),
        lambda scalar, rows: np.asarray(rows) if not scalar else np.asarray(rows[0]),
        namespace='numpy1',
    )
    
    optree.register_pytree_node(
        np.ndarray,
        # Returns a list of `np.ndarray`s without termination condition -> RecursionError!
        lambda array: ([array.ravel()], array.shape),
        lambda shape, children: children[0].reshape(shape),
        namespace='numpy2',
    )
    

None is Non-leaf Node vs. None is Leaf

The None object is Python's singleton for "no value", analogous to null in other languages but also commonly used as a sentinel or implicit return value.

By default, the None object is considered a non-leaf node in the tree with arity 0, i.e., a non-leaf node that has no children. This is like the behavior of an empty tuple. While flattening a tree, it will remain in the tree structure definitions rather than in the leaves list.

>>> tree = {'b': (2, [3, 4]), 'a': 1, 'c': None, 'd': 5}
>>> optree.tree_flatten(tree)
([1, 2, 3, 4, 5], PyTreeSpec({'a': *, 'b': (*, [*, *]), 'c': None, 'd': *}))
>>> optree.tree_flatten(tree, none_is_leaf=True)
([1, 2, 3, 4, None, 5], PyTreeSpec({'a': *, 'b': (*, [*, *]), 'c': *, 'd': *}, NoneIsLeaf))
>>> optree.tree_flatten(1)
([1], PyTreeSpec(*))
>>> optree.tree_flatten(None)
([], PyTreeSpec(None))
>>> optree.tree_flatten(None, none_is_leaf=True)
([None], PyTreeSpec(*, NoneIsLeaf))

OpTree provides a keyword argument none_is_leaf to determine whether to consider the None object as a leaf, like other opaque objects. If none_is_leaf=True, the None object will be placed in the leaves list. Otherwise, the None object will remain in the tree structure specification.

>>> import torch

>>> linear = torch.nn.Linear(in_features=3, out_features=2, bias=False)
>>> linear._parameters  # a container has None
OrderedDict({
    'weight': Parameter containing:
              tensor([[-0.6677,  0.5209,  0.3295],
                      [-0.4876, -0.3142,  0.1785]], requires_grad=True),
    'bias': None
})

>>> optree.tree_map(torch.zeros_like, linear._parameters)
OrderedDict({
    'weight': tensor([[0., 0., 0.],
                      [0., 0., 0.]]),
    'bias': None
})

>>> optree.tree_map(torch.zeros_like, linear._parameters, none_is_leaf=True)
Traceback (most recent call last):
    ...
TypeError: zeros_like(): argument 'input' (position 1) must be Tensor, not NoneType

>>> optree.tree_map(lambda t: torch.zeros_like(t) if t is not None else 0, linear._parameters, none_is_leaf=True)
OrderedDict({
    'weight': tensor([[0., 0., 0.],
                      [0., 0., 0.]]),
    'bias': 0
})

Key Ordering for Dictionaries

The built-in Python dictionary (builtins.dict) is a mapping whose leaves are its values. Since Python 3.7, dict is guaranteed to be insertion ordered, but the equality operator (==) ignores key order. To ensure referential transparency, where "equal dict" implies "equal ordering of leaves", the leaves (values) are returned in key-sorted order. The same applies to collections.defaultdict and frozendict (Python 3.15+).

>>> optree.tree_flatten({'a': [1, 2], 'b': [3]})
([1, 2, 3], PyTreeSpec({'a': [*, *], 'b': [*]}))
>>> optree.tree_flatten({'b': [3], 'a': [1, 2]})
([1, 2, 3], PyTreeSpec({'a': [*, *], 'b': [*]}))

Sorting ensures that equal dictionaries always flatten to the same leaf sequence, regardless of insertion order. This is critical for operations that rely on positional correspondence between leaves. Consider two parameter dicts that are equal but constructed in different orders:

>>> import numpy as np
>>> params1 = {'weight': np.array([[1.0, 2.0], [3.0, 4.0]]), 'bias': np.array([5.0, 6.0])}
>>> params2 = {'bias': np.array([5.0, 6.0]), 'weight': np.array([[1.0, 2.0], [3.0, 4.0]])}
>>> optree.tree_all(optree.tree_map(np.allclose, params1, params2))
True

Because tree_map zips leaves positionally, sorted keys guarantee correct element-wise operations:

>>> optree.tree_map(lambda x, y: x - y, params1, params2)
{
    'weight': array([[0., 0.],
                     [0., 0.]]),
    'bias': array([0., 0.])
}

The same applies to tree_ravel, which concatenates all leaves into a single 1D array:

>>> from optree.integrations.numpy import tree_ravel
>>> tree_ravel(params1)[0]
array([5., 6., 1., 2., 3., 4.])  # 'bias' before 'weight' (sorted)
>>> tree_ravel(params2)[0]
array([5., 6., 1., 2., 3., 4.])  # same order, despite different insertion order

Without sorting, insertion order would silently corrupt the results. Here is a counterexample using dict_insertion_ordered:

>>> with optree.dict_insertion_ordered(True, namespace='demo'):
...     flat1, _ = tree_ravel(params1, namespace='demo')
...     flat2, _ = tree_ravel(params2, namespace='demo')
>>> flat1
array([1., 2., 3., 4., 5., 6.])  # weight, bias (insertion order of params1)
>>> flat2
array([5., 6., 1., 2., 3., 4.])  # bias, weight (insertion order of params2)
>>> flat1 - flat2                # WRONG! Should be all zeros for equal params
array([-4., -4.,  2.,  2.,  2.,  2.])

To preserve insertion order during pytree traversal, use collections.OrderedDict, which considers key order in equality checks:

>>> OrderedDict([('a', [1, 2]), ('b', [3])]) == OrderedDict([('b', [3]), ('a', [1, 2])])
False
>>> optree.tree_flatten(OrderedDict([('a', [1, 2]), ('b', [3])]))
([1, 2, 3], PyTreeSpec(OrderedDict({'a': [*, *], 'b': [*]})))
>>> optree.tree_flatten(OrderedDict([('b', [3]), ('a', [1, 2])]))
([3, 1, 2], PyTreeSpec(OrderedDict({'b': [*], 'a': [*, *]})))

To flatten builtins.dict, collections.defaultdict, and frozendict (Python 3.15+) objects with the insertion order preserved, use the dict_insertion_ordered context manager:

>>> tree = {'b': (2, [3, 4]), 'a': 1, 'c': None, 'd': 5}
>>> optree.tree_flatten(tree)
(
    [1, 2, 3, 4, 5],
    PyTreeSpec({'a': *, 'b': (*, [*, *]), 'c': None, 'd': *})
)
>>> with optree.dict_insertion_ordered(True, namespace='some-namespace'):
...     optree.tree_flatten(tree, namespace='some-namespace')
(
    [2, 3, 4, 1, 5],
    PyTreeSpec({'b': (*, [*, *]), 'a': *, 'c': None, 'd': *}, namespace='some-namespace')
)

Since OpTree v0.9.0, the key order of the reconstructed output dictionaries from tree_unflatten is guaranteed to be consistent with the key order of the input dictionaries in tree_flatten.

>>> leaves, treespec = optree.tree_flatten({'b': [3], 'a': [1, 2]})
>>> leaves, treespec
([1, 2, 3], PyTreeSpec({'a': [*, *], 'b': [*]}))
>>> optree.tree_unflatten(treespec, leaves)
{'b': [3], 'a': [1, 2]}
>>> optree.tree_map(lambda x: x, {'b': [3], 'a': [1, 2]})
{'b': [3], 'a': [1, 2]}
>>> optree.tree_map(lambda x: x + 1, {'b': [3], 'a': [1, 2]})
{'b': [4], 'a': [2, 3]}

This property is also preserved during serialization/deserialization.

>>> leaves, treespec = optree.tree_flatten({'b': [3], 'a': [1, 2]})
>>> leaves, treespec
([1, 2, 3], PyTreeSpec({'a': [*, *], 'b': [*]}))
>>> restored_treespec = pickle.loads(pickle.dumps(treespec))
>>> optree.tree_unflatten(treespec, leaves)
{'b': [3], 'a': [1, 2]}
>>> optree.tree_unflatten(restored_treespec, leaves)
{'b': [3], 'a': [1, 2]}

[!NOTE] The dict keys are not required to be comparable (sortable) or of a single type. Keys are sorted by key=lambda k: k first if possible, otherwise falling back to key=lambda k: (f'{k.__class__.__module__}.{k.__class__.__qualname__}', k). This handles most cases.

>>> sorted({1: 2, 1.5: 1}.keys())
[1, 1.5]
>>> sorted({'a': 3, 1: 2, 1.5: 1}.keys())
Traceback (most recent call last):
    ...
TypeError: '<' not supported between instances of 'int' and 'str'
>>> sorted({'a': 3, 1: 2, 1.5: 1}.keys(), key=lambda k: (f'{k.__class__.__module__}.{k.__class__.__qualname__}', k))
[1.5, 1, 'a']

Changelog

See CHANGELOG.md.


License

OpTree is released under the Apache License 2.0.

OpTree is based on JAX's implementation of the PyTree utility, with significant refactoring and several improvements. The original licenses can be found at JAX's Apache License 2.0 and Tensorflow's Apache License 2.0.

Release files for optree 0.20.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for optree 0.20.0
File Size Uploaded
optree-0.20.0.tar.gz 244.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for optree 0.20.0
File
optree-0.20.0-pp311-pypy311_pp73-win_amd64.whl PyPy 3.11 PyPy 3.11 7.3 Windows x86-64 Details
optree-0.20.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
optree-0.20.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
optree-0.20.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 11.0+ ARM64 Details
optree-0.20.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 10.15+ x86-64 Details
optree-0.20.0-cp315-cp315t-win_arm64.whl CPython 3.15 CPython 3.15 free-threading Windows ARM64 Details
optree-0.20.0-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details
optree-0.20.0-cp315-cp315t-win32.whl CPython 3.15 CPython 3.15 free-threading Windows x86-32 Details
optree-0.20.0-cp315-cp315t-manylinux_2_39_riscv64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
optree-0.20.0-cp315-cp315t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ IBM System/390x, Linux glibc 2.26+ IBM System/390x Details
optree-0.20.0-cp315-cp315t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.26+ PowerPC 64-le, Linux glibc 2.28+ PowerPC 64-le Details
optree-0.20.0-cp315-cp315t-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-32, Linux glibc 2.26+ x86-32 Details
optree-0.20.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
optree-0.20.0-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details
optree-0.20.0-cp315-cp315t-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64 Details
optree-0.20.0-cp315-cp315-win_arm64.whl CPython 3.15 CPython 3.15 Windows ARM64 Details
optree-0.20.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
optree-0.20.0-cp315-cp315-win32.whl CPython 3.15 CPython 3.15 Windows x86-32 Details
optree-0.20.0-cp315-cp315-manylinux_2_39_riscv64.whl CPython 3.15 CPython 3.15 Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
optree-0.20.0-cp315-cp315-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.15 CPython 3.15 Linux glibc 2.26+ IBM System/390x, Linux glibc 2.28+ IBM System/390x Details
optree-0.20.0-cp315-cp315-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ PowerPC 64-le, Linux glibc 2.26+ PowerPC 64-le Details
optree-0.20.0-cp315-cp315-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.15 CPython 3.15 Linux glibc 2.26+ x86-32, Linux glibc 2.28+ x86-32 Details
optree-0.20.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
optree-0.20.0-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
optree-0.20.0-cp315-cp315-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.15+ x86-64 Details
optree-0.20.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl CPython 3.15 CPython 3.15 iOS 13.0+ ARM64 Simulator Details
optree-0.20.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl CPython 3.15 CPython 3.15 iOS 13.0+ ARM64 Device Details
optree-0.20.0-cp315-cp315-android_24_arm64_v8a.whl CPython 3.15 CPython 3.15 Android API level 24+ ARM64 v8a Details
optree-0.20.0-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
optree-0.20.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
optree-0.20.0-cp314-cp314t-win32.whl CPython 3.14 CPython 3.14 free-threading Windows x86-32 Details
optree-0.20.0-cp314-cp314t-manylinux_2_39_riscv64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
optree-0.20.0-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ IBM System/390x, Linux glibc 2.28+ IBM System/390x Details
optree-0.20.0-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ PowerPC 64-le, Linux glibc 2.28+ PowerPC 64-le Details
optree-0.20.0-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-32, Linux glibc 2.26+ x86-32 Details
optree-0.20.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
optree-0.20.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
optree-0.20.0-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
optree-0.20.0-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
optree-0.20.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
optree-0.20.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
optree-0.20.0-cp314-cp314-manylinux_2_39_riscv64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
optree-0.20.0-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ IBM System/390x, Linux glibc 2.26+ IBM System/390x Details
optree-0.20.0-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ PowerPC 64-le, Linux glibc 2.28+ PowerPC 64-le Details
optree-0.20.0-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ x86-32, Linux glibc 2.28+ x86-32 Details
optree-0.20.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
optree-0.20.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
optree-0.20.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
optree-0.20.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl CPython 3.14 CPython 3.14 iOS 13.0+ ARM64 Simulator Details
optree-0.20.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl CPython 3.14 CPython 3.14 iOS 13.0+ ARM64 Device Details
optree-0.20.0-cp314-cp314-android_24_arm64_v8a.whl CPython 3.14 CPython 3.14 Android API level 24+ ARM64 v8a Details
optree-0.20.0-cp313-cp313t-win_arm64.whl CPython 3.13 CPython 3.13 free-threading Windows ARM64 Details
optree-0.20.0-cp313-cp313t-win_amd64.whl CPython 3.13 CPython 3.13 free-threading Windows x86-64 Details
optree-0.20.0-cp313-cp313t-win32.whl CPython 3.13 CPython 3.13 free-threading Windows x86-32 Details
optree-0.20.0-cp313-cp313t-manylinux_2_39_riscv64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
optree-0.20.0-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ IBM System/390x, Linux glibc 2.26+ IBM System/390x Details
optree-0.20.0-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.26+ PowerPC 64-le, Linux glibc 2.28+ PowerPC 64-le Details
optree-0.20.0-cp313-cp313t-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ x86-32, Linux glibc 2.26+ x86-32 Details
optree-0.20.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
optree-0.20.0-cp313-cp313t-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 free-threading macOS 11.0+ ARM64 Details
optree-0.20.0-cp313-cp313t-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 free-threading macOS 10.13+ x86-64 Details
optree-0.20.0-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
optree-0.20.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
optree-0.20.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
optree-0.20.0-cp313-cp313-manylinux_2_39_riscv64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
optree-0.20.0-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ IBM System/390x, Linux glibc 2.26+ IBM System/390x Details
optree-0.20.0-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ PowerPC 64-le, Linux glibc 2.28+ PowerPC 64-le Details
optree-0.20.0-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ x86-32, Linux glibc 2.28+ x86-32 Details
optree-0.20.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
optree-0.20.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
optree-0.20.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
optree-0.20.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl CPython 3.13 CPython 3.13 iOS 13.0+ ARM64 Simulator Details
optree-0.20.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl CPython 3.13 CPython 3.13 iOS 13.0+ ARM64 Device Details
optree-0.20.0-cp313-cp313-android_24_arm64_v8a.whl CPython 3.13 CPython 3.13 Android API level 24+ ARM64 v8a Details
optree-0.20.0-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
optree-0.20.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
optree-0.20.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
optree-0.20.0-cp312-cp312-manylinux_2_39_riscv64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
optree-0.20.0-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ IBM System/390x, Linux glibc 2.28+ IBM System/390x Details
optree-0.20.0-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ PowerPC 64-le, Linux glibc 2.26+ PowerPC 64-le Details
optree-0.20.0-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ x86-32, Linux glibc 2.28+ x86-32 Details
optree-0.20.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
optree-0.20.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
optree-0.20.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
optree-0.20.0-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
optree-0.20.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
optree-0.20.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
optree-0.20.0-cp311-cp311-manylinux_2_39_riscv64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
optree-0.20.0-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ IBM System/390x, Linux glibc 2.28+ IBM System/390x Details
optree-0.20.0-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ PowerPC 64-le, Linux glibc 2.28+ PowerPC 64-le Details
optree-0.20.0-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-32, Linux glibc 2.26+ x86-32 Details
optree-0.20.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
optree-0.20.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
optree-0.20.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
optree-0.20.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
optree-0.20.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
optree-0.20.0-cp310-cp310-manylinux_2_39_riscv64.whl CPython 3.10 CPython 3.10 Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
optree-0.20.0-cp310-cp310-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ IBM System/390x, Linux glibc 2.26+ IBM System/390x Details
optree-0.20.0-cp310-cp310-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.10 CPython 3.10 Linux glibc 2.26+ PowerPC 64-le, Linux glibc 2.28+ PowerPC 64-le Details
optree-0.20.0-cp310-cp310-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-32, Linux glibc 2.26+ x86-32 Details
optree-0.20.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
optree-0.20.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
optree-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
optree-0.20.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
optree-0.20.0-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
optree-0.20.0-cp39-cp39-manylinux_2_39_riscv64.whl CPython 3.9 CPython 3.9 Linux glibc 2.39+ RISC-V 64 Details
optree-0.20.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
optree-0.20.0-cp39-cp39-manylinux_2_26_s390x.manylinux_2_28_s390x.whl CPython 3.9 CPython 3.9 Linux glibc 2.26+ IBM System/390x, Linux glibc 2.28+ IBM System/390x Details
optree-0.20.0-cp39-cp39-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.9 CPython 3.9 Linux glibc 2.26+ PowerPC 64-le, Linux glibc 2.28+ PowerPC 64-le Details
optree-0.20.0-cp39-cp39-manylinux_2_26_i686.manylinux_2_28_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.26+ x86-32, Linux glibc 2.28+ x86-32 Details
optree-0.20.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
optree-0.20.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
optree-0.20.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details

Total release size: 62.2 MB

Release files / optree-0.20.0.tar.gz

Download URL optree-0.20.0.tar.gz
Size 244.7 kB
Tags Source
SHA-256 checksum
How to use checksums
c7403eb0f2b2a060a97803a8f52904212df85ed6cff4b0eeed9cc6e38c2cf88d
BLAKE2b-256 checksum
How to use checksums
76e289ef1e5ef78ffd22c1d1e66d884c33850e051a11780209c35503a02855a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-pp311-pypy311_pp73-win_amd64.whl

Download URL optree-0.20.0-pp311-pypy311_pp73-win_amd64.whl
Size 582.1 kB
Tags PyPy 3.11 PyPy 3.11 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
856dacec346b009e1d288f9b57a9513728a6da5a317aa6aee9feda5c8c571b46
BLAKE2b-256 checksum
How to use checksums
d7e82ba419eec3e21f487e5eedcbdfb0455e978b4de1a78b6075764def8a0079
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 481.2 kB
Tags Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
63bcfff0eeb4123ad7b6277906530633857877e4690e885132c06630c8cbe386
BLAKE2b-256 checksum
How to use checksums
73230b054ed4a44db89d81b5ce25ace1615070d09278ca65444e0c282e2060a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 436.6 kB
Tags Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
6d15da3da44cf01f7008a3ab969dac2cee8143a7c2523876b5a468d846510c52
BLAKE2b-256 checksum
How to use checksums
2ae20d7ad96ca1ee67e7c3e424dd128fdaa62d2e40dbaef0e3282bcceec4f892
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl

Download URL optree-0.20.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl
Size 414.4 kB
Tags PyPy 3.11 PyPy 3.11 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0cab15738f3ea2173138615213995edcfebc9690048d223d14dce68e2f7f178d
BLAKE2b-256 checksum
How to use checksums
36e6c8cd75a48ff6aa756561d6b82913e1d4f9147fa180139272e7945f65ae41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl

Download URL optree-0.20.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
Size 442.3 kB
Tags PyPy 3.11 PyPy 3.11 7.3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
13d3e33800426bc77486858634c3bb0280d8b0e6e6f566e05570ca06d611a749
BLAKE2b-256 checksum
How to use checksums
56aa45a77e6cfd7ced70ad5aed6767514d1feb74c961bddc884d71fb05cb2dd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-win_arm64.whl

Download URL optree-0.20.0-cp315-cp315t-win_arm64.whl
Size 795.8 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
deae3089a2384638b1dd9dd3cdb53121353c3dfb01abd5ad13b6a1e68e07ee9e
BLAKE2b-256 checksum
How to use checksums
70b661a07c67d1e4bc6dcdaf5c1ce5b28b290d22e768298a93ea18467522af48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-win_amd64.whl

Download URL optree-0.20.0-cp315-cp315t-win_amd64.whl
Size 610.2 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
74cefe145c3190d15d25edacf79b3c0d0bece94d4073246ae2f25b247d117778
BLAKE2b-256 checksum
How to use checksums
fe94cf98ddb7e44fb5102ba2c1fbdac99b8c98da58e8a60069ef18cccc246b6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-win32.whl

Download URL optree-0.20.0-cp315-cp315t-win32.whl
Size 560.9 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
05bb1aeb21e58ace1ba086408a4c0716097e90337a7485e65939703f365346c8
BLAKE2b-256 checksum
How to use checksums
98b159cd309b74605d6d7b8f51356a6d97c845150beb678c6146d1e3abd65b51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp315-cp315t-manylinux_2_39_riscv64.whl
Size 466.8 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
630ede7bbc856ce9a6634b299e8ec3e7ea34d1793109d984c71210af0418146c
BLAKE2b-256 checksum
How to use checksums
60fdee8e57ab3bba085d35562dacc58ca232bb4cd511d3175bc98c361ac4d443
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 505.1 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5562aeb48cbdcb295511ceb7613a0cd7b41231f9363fe8ca29cf454cfc3eafb4
BLAKE2b-256 checksum
How to use checksums
453c91773fc89feacbfc0ed8b8814b8db936208f72cf9b123384fb0496ba0d5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp315-cp315t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 519.8 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
e7258dda94e7cb7a37bfbefe74206b2c9d5edfd8d797672b4c2f29ed327a6403
BLAKE2b-256 checksum
How to use checksums
bba416b6ecbd561b3d2d09182ad27316def832dbdf40b7a532bd43fc95fe3c8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp315-cp315t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 523.7 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
2a57982031588102dda8425b33580e1cfe073e275b622be5544baa3c3844b326
BLAKE2b-256 checksum
How to use checksums
10e843ea0c4d5130d0bd1eab813576a1089c18d683760967e717577417d694a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp315-cp315t-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 527.3 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
c3cac6fef8a9632dc0d7f44478a1f940869c072998ba1e9647d85284aede3816
BLAKE2b-256 checksum
How to use checksums
e1a0ec1c7ef092ce12e956642e927a6a92cffd795996213a740011298c78430b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 460.3 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2c2d083ce1b508fcb2e091fbb29dfe60d9341ea0a9c7758fc424fedce0712b2b
BLAKE2b-256 checksum
How to use checksums
6f0611e5d0602a9f621a7c783eb8e81666c7a2dbaa42413c7f5d96b706730d4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp315-cp315t-macosx_11_0_arm64.whl
Size 459.7 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7d013498c71a551b7da8e2adabac54a3741b728542d20c7a6c2c8951e6454dcf
BLAKE2b-256 checksum
How to use checksums
97f0750c6a8d56d5d40540bc50fad8e460d68b58629e5753d0399fa610093480
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315t-macosx_10_15_x86_64.whl

Download URL optree-0.20.0-cp315-cp315t-macosx_10_15_x86_64.whl
Size 497.1 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
4d454fb9e752cc6a7d85cdfadc3940964fb0ed2c5d0608a4ac47384ccd0476a1
BLAKE2b-256 checksum
How to use checksums
6981b63a553a1c23788f00fbe2953b55167713adbff30484ed282fc9d147d2b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-win_arm64.whl

Download URL optree-0.20.0-cp315-cp315-win_arm64.whl
Size 760.3 kB
Tags CPython 3.15 Windows ARM64
SHA-256 checksum
How to use checksums
69b8241ddb53442a1aec51137b3d7bc5bd7228ba9b75f2d5f5d11bc04c0efe43
BLAKE2b-256 checksum
How to use checksums
82f9d89892ab4541d9634fbca8fdc3f31c5056b42af48b05f75bbd1bda420f2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-win_amd64.whl

Download URL optree-0.20.0-cp315-cp315-win_amd64.whl
Size 581.4 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
8052cd891c418d3f86da3082bf10ebcb7a090d82758ec39f80a2a07ef4a72d99
BLAKE2b-256 checksum
How to use checksums
043b5d8d976f50ae6cc10b630a54688480440c0448e7f9fd106a84f63a363d11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-win32.whl

Download URL optree-0.20.0-cp315-cp315-win32.whl
Size 541.0 kB
Tags CPython 3.15 Windows x86-32
SHA-256 checksum
How to use checksums
c0c16bf65e848d2275442daa797c5e527c48272816dcd30adda2bd987c1dd3f8
BLAKE2b-256 checksum
How to use checksums
cd9ddd3df587c06df8cacf8b5b6aed64b9ed1846328d1fa34ec979507b69265f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp315-cp315-manylinux_2_39_riscv64.whl
Size 452.2 kB
Tags CPython 3.15 Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
8d84a5d8ba4cf53c4f1c7108ca4b7df08a3418f50851dc73aadd9a7a36695d77
BLAKE2b-256 checksum
How to use checksums
f9d7232c906005fc5b53f37a28f332ef27ae7fde672c8fcd4e1172abcb1b5e3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 490.0 kB
Tags CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
635dc29eaa1a145630ab5463bd5fe51a29fd391a6b72f8a895f8873990d27b66
BLAKE2b-256 checksum
How to use checksums
bb86587e4f8e45c133c73e93d1639c50304b88baaadd478faf0609cc67b288cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp315-cp315-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 508.0 kB
Tags CPython 3.15 Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
ce0a48b6fb4a4237ae8330abe3a30d44acec0274767194382b502bfe45eee157
BLAKE2b-256 checksum
How to use checksums
731a18c3cfa5a9ccbe775db3b5b93009fad884abb6fff452a7626d6d2062b090
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp315-cp315-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 509.6 kB
Tags CPython 3.15 Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
97e2adcbd70eb451f6449786e89d053524cc0c7d83eb1fa469d8c3017d8c430e
BLAKE2b-256 checksum
How to use checksums
59972cc06ac8f5317ffbf85be931c3fb4922c0fef8403315f1ec4e7e7ea6738e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp315-cp315-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 510.5 kB
Tags CPython 3.15 Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
69c431fe171aa91239d79ec8271c74ec04986d303391359237473d344380618d
BLAKE2b-256 checksum
How to use checksums
fe1b0fb49f73ce4330dc10ba490ea32d6dc351069d5a2278653939d053138701
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 444.8 kB
Tags CPython 3.15 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
359c2e711e4b3b1c5f169fb3b558e66d93b9eb471eb1cc523fbeefbfc487a542
BLAKE2b-256 checksum
How to use checksums
7af80a3155fd41ac7a3dfaf321ed7c6de28bdf2174fd5b655d29907a20073c01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp315-cp315-macosx_11_0_arm64.whl
Size 418.6 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b769e8e6dca38359f59a7dc215de7498723f572932ee7ef4d34fcb0a2235b8fb
BLAKE2b-256 checksum
How to use checksums
2ce3d947481877e90a0f765cf22dae08be51d6ef57fc0cf31e757bd4772afa39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-macosx_10_15_x86_64.whl

Download URL optree-0.20.0-cp315-cp315-macosx_10_15_x86_64.whl
Size 454.4 kB
Tags CPython 3.15 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
40942067473fc357b484962b68af117f79a012d94cd8fa8e744c1d27c8dd9908
BLAKE2b-256 checksum
How to use checksums
865e3a71bb896bb89a823285931cdfb18ac9aff637beda4cb1cde44efa5a226d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl

Download URL optree-0.20.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl
Size 418.1 kB
Tags CPython 3.15 iOS 13.0+ ARM64 Simulator
SHA-256 checksum
How to use checksums
f2c7a010106766edaccc1209fa31316ed921a26c714f2a8f228a9e325d3818b3
BLAKE2b-256 checksum
How to use checksums
c2c4ee06a938266e517d74354c74ca6810844d6f17b042cba33ef4525bdd17fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl

Download URL optree-0.20.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl
Size 411.5 kB
Tags CPython 3.15 iOS 13.0+ ARM64 Device
SHA-256 checksum
How to use checksums
e490bb81d0a6fc93a0175cd64fe412c969ba732536dfb6a278c3328118b530f4
BLAKE2b-256 checksum
How to use checksums
965fe745a8de35bc76a4f5d14528e3af204587dca86283b9dc132014c78e8e9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp315-cp315-android_24_arm64_v8a.whl

Download URL optree-0.20.0-cp315-cp315-android_24_arm64_v8a.whl
Size 953.5 kB
Tags Android API level 24+ ARM64 v8a CPython 3.15
SHA-256 checksum
How to use checksums
44e21ac24a30ee945693c3a904af582a461d4085d8222ebe93d546381cbe4b99
BLAKE2b-256 checksum
How to use checksums
f51952e8652b084eb5b0861fc416bafec047f30d64c40fb1bf02aabb43742cac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-win_arm64.whl

Download URL optree-0.20.0-cp314-cp314t-win_arm64.whl
Size 796.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
94e48844309fdb24895d7f237d71264d3e13ec85374ce6624d237be379a6b81d
BLAKE2b-256 checksum
How to use checksums
7c016abd86d20064fbb42ec6b0b13d98c4fab9cde326fc7031eea92c857d1d70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-win_amd64.whl

Download URL optree-0.20.0-cp314-cp314t-win_amd64.whl
Size 610.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
dc47de3e63d7964d7b2c2b9f83f86e2878d0d29b316316f5536b705bddc7f899
BLAKE2b-256 checksum
How to use checksums
334be71898627157dac07ae19be16cc9c8bc27f4f5dc7253800679e868eab739
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-win32.whl

Download URL optree-0.20.0-cp314-cp314t-win32.whl
Size 560.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
7228c719c3e4b4f038ede53bd2e54053752618f7c58ee4034b45ee15a4daf496
BLAKE2b-256 checksum
How to use checksums
3e63ad64de9e84662070b39285d4572ce6ec74659e58f8dcfafe3b35967633f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp314-cp314t-manylinux_2_39_riscv64.whl
Size 467.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
ac38b15a33a30533bd557c52b9b49c2c3cb11283f3d52474ecdcbc46d2dabe59
BLAKE2b-256 checksum
How to use checksums
fd412643c5ae92fd4f6700c0b1b9b4f4d48dcce7836e997b8accedea1dda73d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 506.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5e42a58b5fcb26d9f081a392312953bf1c8a2b4ee11ccfaa5c0000c91b40d645
BLAKE2b-256 checksum
How to use checksums
a1c33692ff5a169b1979add16a28f1d92084947d0d1e148d80889770d2f3129b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 520.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
14be5cd9e9a3cadf3cc5417c260a625a4459f3833fdb99f6c5c453590da65423
BLAKE2b-256 checksum
How to use checksums
58f64da9a7fe301f86fbd90e3ff73a6f4ccec5749c5cb8f05c8dc34f2cf50fdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 523.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
5066ea9c1529d3a641913d9a7ed6c7585512be61367d8f6a588f629692fccae5
BLAKE2b-256 checksum
How to use checksums
3d1753597f1fb5005e23c27b07e634bae0c7818cd1fa5ef5115eee912845d2a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 526.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
05189c3a4dda6acaa6f3421eec729238b3b8467e00345f84aee359f8881fa4de
BLAKE2b-256 checksum
How to use checksums
eb2ffd14fdee15e95deee8bcc6d3755453b957bbc3984c338ce572657faf0e1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 460.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3f34d8f6d154d2320fdef38c3b555621fa21d3aae9b1b75b3c8e8c1b8e6f10ce
BLAKE2b-256 checksum
How to use checksums
660ad07e3d775adf820eca4f5b5c0c762212abdcf2c087eadb58716800b25020
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 459.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a983265f90b12b727317f1cc7ef893e5e501c796df9929149bf05cc20173321d
BLAKE2b-256 checksum
How to use checksums
7f380a74332a21d205e888414e01e7a4f10cd41366888e0028adda08fa107974
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL optree-0.20.0-cp314-cp314t-macosx_10_15_x86_64.whl
Size 495.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
97d35d8cefa59e3b2fa91363bbb674e970909617c81e6a8dcc53d127e7554022
BLAKE2b-256 checksum
How to use checksums
29e6bcf0ab8c8fe2a23b3a2e54033d3c2055bbf9ca653b742fd8fd23c5d63fab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-win_arm64.whl

Download URL optree-0.20.0-cp314-cp314-win_arm64.whl
Size 760.6 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
657aee57be88496c8a34cb12923388fe44bbe27d6849e4e34d10f05ae8504411
BLAKE2b-256 checksum
How to use checksums
3c83a70ad79382b8e86757a8bc9bc49fb878d370b7c6ccc91c2aa3eef409229c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-win_amd64.whl

Download URL optree-0.20.0-cp314-cp314-win_amd64.whl
Size 581.4 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
cebd66fa4ed5e1c5b35ff7c8b282047fe145fec4fb643eef422666b3e2aa20ff
BLAKE2b-256 checksum
How to use checksums
fb513c0c87413d4a5d0f01a11414bf9f213370807823d4434e25305f2c12b4ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-win32.whl

Download URL optree-0.20.0-cp314-cp314-win32.whl
Size 541.2 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
0c151ba6e69331c23048e6115d849e3d42e92641d2399e35b920980ced7e1686
BLAKE2b-256 checksum
How to use checksums
ffa2240b5e9cd7d05877f3d1aaaf5ee53d8234153aa62d0eb3f15fe699dedff1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp314-cp314-manylinux_2_39_riscv64.whl
Size 452.2 kB
Tags CPython 3.14 Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
589ae047414b82320c08430947d9a2f6e6b18dc6dd001a363504e96c3a96caa1
BLAKE2b-256 checksum
How to use checksums
5927a8e1dc060f8c55bd69f4316f7d180dcaec168b2ef768a0aa58ee9c63ae8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 490.7 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f8a155152d8ad308d7e00016a23c0928f4a3feb516b9ee5af7e52761a61e25f3
BLAKE2b-256 checksum
How to use checksums
805495a2d47e8ae8ba5c871be6cd7bba6c77f6af74c6966d8fb711710f03851e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 507.7 kB
Tags CPython 3.14 Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
0115c3d520b217e42521cceaa4cbb2f6c4d029e82172aed7cfe6a1b9a5aa1d5f
BLAKE2b-256 checksum
How to use checksums
44e9901a0cc28433fc4ff61b69488750770f85168e67d6b7d14fbe4945aec908
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 512.8 kB
Tags CPython 3.14 Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
ee32a100024944eea80396dba790e96607998de4cb515ab9c928eff634a5cbb3
BLAKE2b-256 checksum
How to use checksums
b8e7c86603b2cd6b92e2a6192370a3b35df582e11f873d0b5b22cea3e3257e5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 510.9 kB
Tags CPython 3.14 Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
7fa87e9facdbf46e9298aedf1501e814335edb099a3c8b31a334eb3610128521
BLAKE2b-256 checksum
How to use checksums
a560ad4ba48c642f8b96db76a5058a17aff2986d7f158fecb8a9355ddb5b5f77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 444.7 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1adb881b8759153f2b6cef683ad0ed1a731a11a7c1e2d8518585ff9b3e242399
BLAKE2b-256 checksum
How to use checksums
8e3e75dd7a5e51a97028ec3d6237a199f1face6ad51ea36c7183d2ddd8bfa020
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp314-cp314-macosx_11_0_arm64.whl
Size 418.8 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
de0806d57c418269a62e9abbf245479eb43001b258d94675428d01517e565c4d
BLAKE2b-256 checksum
How to use checksums
eeb1d3598f36a1a3b6569a379799ea9ad67adce502cd659a2287216a5d1d412e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL optree-0.20.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 454.6 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f9faccc47bef4b37f53e201b708c3e3288e143d430d8a1a78e571b554dc8233c
BLAKE2b-256 checksum
How to use checksums
d783d603fe1d700786426f2e33988f947ad9ef9ca9a858a8d318cecda3242c1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl

Download URL optree-0.20.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl
Size 418.3 kB
Tags CPython 3.14 iOS 13.0+ ARM64 Simulator
SHA-256 checksum
How to use checksums
58a7608d67a3c673782e408ae40b593cac3c227e3733da5b75dd0b37b2b80c86
BLAKE2b-256 checksum
How to use checksums
b4e53d899b4dc088c181560b22746e4890f4072d1633d9808af971c6533c1886
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl

Download URL optree-0.20.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl
Size 411.5 kB
Tags CPython 3.14 iOS 13.0+ ARM64 Device
SHA-256 checksum
How to use checksums
406d93dc1f6b53aceaf5df2967a9661cc85120897e2f8f239f371dd1519334de
BLAKE2b-256 checksum
How to use checksums
099321eb5dc206b4f8596e98922c17bdb1369ac06ea59a06bf34831c3463a47c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp314-cp314-android_24_arm64_v8a.whl

Download URL optree-0.20.0-cp314-cp314-android_24_arm64_v8a.whl
Size 953.6 kB
Tags Android API level 24+ ARM64 v8a CPython 3.14
SHA-256 checksum
How to use checksums
b3efc6052ef752d4242b8723dd89dd2d171de0f57942508398effb3fcab10fe9
BLAKE2b-256 checksum
How to use checksums
51cb3c3c3e55096ba3297660919863e5e84091f1f3fa9e9f9ec540eaf74a1f4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-win_arm64.whl

Download URL optree-0.20.0-cp313-cp313t-win_arm64.whl
Size 412.1 kB
Tags CPython 3.13 CPython 3.13 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
ba5eb068335b09b389e009fdc833d6e3930ce0092ecfac86525cd182ce7c92a7
BLAKE2b-256 checksum
How to use checksums
1d7d53357c41929df5b6b0394cc62f4945da1bc11165ab1cc485677e8f5fd07c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-win_amd64.whl

Download URL optree-0.20.0-cp313-cp313t-win_amd64.whl
Size 408.8 kB
Tags CPython 3.13 CPython 3.13 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
fa0340d92215264634d8acc8f2f6e44d32cfffb3ce5334bb58ffada89fc56d7b
BLAKE2b-256 checksum
How to use checksums
33217d72b14dc2a87c2c33056db5b361f9134041fe93c7e881f15595028431aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-win32.whl

Download URL optree-0.20.0-cp313-cp313t-win32.whl
Size 360.6 kB
Tags CPython 3.13 CPython 3.13 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
ad7e33c477858aa69be10dc5b992dc5a588f0d54f63a65be533d4aaa5b9d0876
BLAKE2b-256 checksum
How to use checksums
5fa47a32c2e763ad61146503068409675f9d64dcb9cdfb1f0d0ed010c913e810
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp313-cp313t-manylinux_2_39_riscv64.whl
Size 470.6 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
e65c65663d1c2ab6fb0cbb490c5762a378f9d0edb305efb7dd7116e60b548777
BLAKE2b-256 checksum
How to use checksums
5b2deb6026f96a3f04cd7d57a758a6917c663c7b016695b3931444caf6712e3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 506.6 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a789aaf500d8cee51897c6eb4ccc5c095e00c8115ac0b74d3ddd361bd3d69d0
BLAKE2b-256 checksum
How to use checksums
eb4d1397e819e720cd94586d4c2fd654c23a4185c2cff28a71f250b794fac23f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 525.5 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
a8646f91435d9d0fe2fe2f4c408da85348d499dde846a558ec1ee9b382c73b14
BLAKE2b-256 checksum
How to use checksums
cc0cd98eca75c410c8daa74b92dd62b34522515c928534c224ed9e9d1f023d56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 524.3 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
d3ae8aecd7f1da2a3c798f95cb19a648716d35e73cf125f699f8a8fa564b2ae7
BLAKE2b-256 checksum
How to use checksums
7996833afbb05e3243507a7c686d13090ba1724da5afe51e83d209fcd8ba9859
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp313-cp313t-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 527.7 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
2a662b53cbd9179b17839f0a8ed476a4ea7cc5c3ae41658ccc3f8be62508a0cc
BLAKE2b-256 checksum
How to use checksums
6cc27934aace70c0f7994876fe236261a733a13a9095109e481922b3ca01e4ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 461.9 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5cbf9b98f7603ab73ff17f72839ee7b7c314b31a4cdc249614d2582ec63b0f7d
BLAKE2b-256 checksum
How to use checksums
0a2708fe808cef56ae11bf7109dbc98c68588f433a9f6ac365eedc46b1b76b18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp313-cp313t-macosx_11_0_arm64.whl
Size 459.6 kB
Tags CPython 3.13 CPython 3.13 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9a5c220a1c83575e9384305550204af07811a009de0862c18823ab74080da4c0
BLAKE2b-256 checksum
How to use checksums
a0e377b9ab271aa22a178969eb1493330c6ce22b6859f3df125e7ea309d1751c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313t-macosx_10_13_x86_64.whl

Download URL optree-0.20.0-cp313-cp313t-macosx_10_13_x86_64.whl
Size 494.8 kB
Tags CPython 3.13 CPython 3.13 free-threading macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
b9518db7abe909668fb89c14d377a776c3db69d3b4e978f32a87ce6d9409e506
BLAKE2b-256 checksum
How to use checksums
aa858b2860d5f3a39fc531184fde60bb6befec9962395edf31ed88312c0a73f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-win_arm64.whl

Download URL optree-0.20.0-cp313-cp313-win_arm64.whl
Size 738.2 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
0acca4b7e82b1f53b413e7c2f63fdfc32ba5465ba85bf5ee588e6323cc5666e3
BLAKE2b-256 checksum
How to use checksums
0610ce6c934a734ccdc76354eb9786a6759e59ff976c31a4b2a98507b5467c16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-win_amd64.whl

Download URL optree-0.20.0-cp313-cp313-win_amd64.whl
Size 566.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4fcdce2e37e37272d058d6ac3694d3789cc8ff625c3dd5887b360bc6c47114cd
BLAKE2b-256 checksum
How to use checksums
0d9e3edd04a587b77874802dc8607691aad313f0f6458a5fde1bc3eed0e0eed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-win32.whl

Download URL optree-0.20.0-cp313-cp313-win32.whl
Size 528.7 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
a79215db7e264da0d2366873ba27f5642b7995f34c13a8c1fdf54a2731f5b020
BLAKE2b-256 checksum
How to use checksums
4fe430940f0a22942dc7a79ee8d95db2e20449c0c00efa88d0e210b5dddd3da6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp313-cp313-manylinux_2_39_riscv64.whl
Size 451.3 kB
Tags CPython 3.13 Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
b57434c2f53e6c72a2f07a3fd6a88646aff74d7e81bcbdd8b18cdcc37060791a
BLAKE2b-256 checksum
How to use checksums
c751b18009fe48c1b4d29bc6f88bda538b91da82c68276a3dc8198cd7c1a256f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 490.8 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d1034c2cc02ec12ed413727664f015a681e2eea551e05640951b05b06c07f084
BLAKE2b-256 checksum
How to use checksums
93b2696029cd979f5429ec25c12767734bf0e13175d3341a2aeac59127d00ca0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 505.6 kB
Tags CPython 3.13 Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
b99f99272e47148aa506bb3cc6b5341e98168fd673d0dd918364a5c911adaeda
BLAKE2b-256 checksum
How to use checksums
1abb49023894f01595bca9cbb7bc95728abdeea13da4d7b06c7fec58122f9dc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 510.9 kB
Tags CPython 3.13 Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
72b5ef124b2c42aedb277a296635a3d54372268d877aabc9cc1fbddcd12c6815
BLAKE2b-256 checksum
How to use checksums
a753cc2a5143e88b395b76c90f611b8c20999fe869b68cfb93e8250f86d539ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 511.0 kB
Tags CPython 3.13 Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
7c740a784930f9263a8fe60f88875975af426c788de174ab2e725487d4cc6a63
BLAKE2b-256 checksum
How to use checksums
eb6facf68e2f5d501abf2411353f271ca7fe490e02a899a36eecf2753bb86966
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 442.3 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
29146b4fbb660dd01235c903ff30c4c56f49b6c4452efcde5ec1a0583d3e4e75
BLAKE2b-256 checksum
How to use checksums
563f0c8b49885b24f1a774b90b9f397b1dc5eb4524bd57dcbeb3e7f7d701a785
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp313-cp313-macosx_11_0_arm64.whl
Size 418.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eefb6f5cedc3ded670a79bcde0985d92e99e0c807787427c310adafafe1b9671
BLAKE2b-256 checksum
How to use checksums
8dc085fa4951ed8fcfc54ea10367e20617b60292780999835f636a6bdbf01c34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL optree-0.20.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 454.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
68339b214564651e9104317dfd407e7e8fabb000b6283a82a9536f3ddfe6f534
BLAKE2b-256 checksum
How to use checksums
5c06dab95087316d1d0a17eb1fac696b5e60008116f31fea0f55f47c1f7699df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl

Download URL optree-0.20.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl
Size 417.9 kB
Tags CPython 3.13 iOS 13.0+ ARM64 Simulator
SHA-256 checksum
How to use checksums
856194096d048b0bdf82f67071af428daefcfdce922dbce5f1f6165fb6e55223
BLAKE2b-256 checksum
How to use checksums
5fb1bb805acca2b17d0c99adaa84282411081f1fd9d69fe2dd2f6e6d8e552314
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl

Download URL optree-0.20.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl
Size 411.3 kB
Tags CPython 3.13 iOS 13.0+ ARM64 Device
SHA-256 checksum
How to use checksums
8a4db81ae650a3af593da9c56fe22fae6e6260f742321d460ec615cfcdc85f5e
BLAKE2b-256 checksum
How to use checksums
e7ce599a4ad9869b94fbb4f632225e073c314cffb7f2fcb6a88edfcbadab0cde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp313-cp313-android_24_arm64_v8a.whl

Download URL optree-0.20.0-cp313-cp313-android_24_arm64_v8a.whl
Size 953.5 kB
Tags Android API level 24+ ARM64 v8a CPython 3.13
SHA-256 checksum
How to use checksums
145053db62a8dc82c02e257b169e0723fd68d814344ef581e05988d0bcc42430
BLAKE2b-256 checksum
How to use checksums
ad6807f204ef89d213b885513e4b592a931f7474a224ad2354fdd5ca7622d909
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-win_arm64.whl

Download URL optree-0.20.0-cp312-cp312-win_arm64.whl
Size 739.2 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
c60b206a42a3225fa8b9a2a71d1b0b7a0659427c6deace3b742b925f16371cb0
BLAKE2b-256 checksum
How to use checksums
2a744dd545f53e77ec92fed816dd70c9735583b4cb035bcf6aaf0f5914f8eb05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-win_amd64.whl

Download URL optree-0.20.0-cp312-cp312-win_amd64.whl
Size 567.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ed117076eab16f8ce4510efffcc81b08f0f50cbbc14f3b8b550aa46e1ebc97b1
BLAKE2b-256 checksum
How to use checksums
5c79c7af080d3301a4912f39d99faad277765d2ebf7f2faea3d2519837247623
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-win32.whl

Download URL optree-0.20.0-cp312-cp312-win32.whl
Size 528.2 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
ac4077d1a655edfe5fbb92d1be79afc5fdab9f0f244586c391231db276f3cc9d
BLAKE2b-256 checksum
How to use checksums
ccde7d78a30503f5f44c9a47a9b76f13f15d41bd38f1c9f7a194285aa59013cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp312-cp312-manylinux_2_39_riscv64.whl
Size 450.5 kB
Tags CPython 3.12 Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
40659c9c055e4b0be8f9ac9951fe1280199fd30d94940ac619da9ee010d1c67e
BLAKE2b-256 checksum
How to use checksums
08dfb61d57cf0b40b0a1908e3170cd74b36b4425938a8e9ff6b97005d982b312
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 489.0 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5c4ed341ea1ee7eb04eff01527b88a868cb19aac672a667e0aefadf7d14c0260
BLAKE2b-256 checksum
How to use checksums
fe986a63875d66bef096d0c040f0cba9d0b14436df88b130d7f779c3dfa59759
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 505.5 kB
Tags CPython 3.12 Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
e79f0e3d19b9f26e3733e8c5a2669802bc9f9d79921b8f5668ea713bafc0cd1b
BLAKE2b-256 checksum
How to use checksums
14ffb4283cd1f78af6aae60bc50030d41631ac5fd67e3c9304368f2740e46265
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 510.6 kB
Tags CPython 3.12 Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
8ba63097249199e93fe466e6e9f68892c34e1643437a8b1ec333c49b810cae1e
BLAKE2b-256 checksum
How to use checksums
7faa6036c15a1a578da66197d23ee3068b0058531ef3165403d99a41bb7d5ec3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 509.3 kB
Tags CPython 3.12 Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
ef1af8e371d21cc17da28e2412471880b4f7ef53c9ffa2d7452b8d021f7199fc
BLAKE2b-256 checksum
How to use checksums
2f5a7213d97897ebc6a3f51111053faff85a4f21acc941edd774f3ad1fea567d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 439.9 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7ce0418dac7763358e96bacc7d586cfc5b820af2c7c17d1e48331edc806e1f12
BLAKE2b-256 checksum
How to use checksums
2fc0be1c52ebb094637b235d67b07a7c852270ef24a34ec3a653d97fcebc91b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp312-cp312-macosx_11_0_arm64.whl
Size 417.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
05596b84c1d5b43d9f45ca0bfee528e3e96f0d547522b074cf20bfe8ffea8938
BLAKE2b-256 checksum
How to use checksums
ccb3be34d1ca24f842a626dc5f7e4353328f7ffc341c54b46e61457ec54b4a1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL optree-0.20.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 450.8 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
5e81ba65acc15054b6a4f97522a7a970daeb0c6e9c066563552b9542b565bde3
BLAKE2b-256 checksum
How to use checksums
276da7863d089b6d305ce413e4c21cabe4db83306959a7442e77430a33d9c285
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-win_arm64.whl

Download URL optree-0.20.0-cp311-cp311-win_arm64.whl
Size 733.5 kB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
c255f3d59808f5eb791f3d94bd6de42c0533dbaa6e268c3fef1cf83e16a9907d
BLAKE2b-256 checksum
How to use checksums
82255f5be16d98845d5a1df3f7d1672e632fa274254c7fc242c5676eb07e6fc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-win_amd64.whl

Download URL optree-0.20.0-cp311-cp311-win_amd64.whl
Size 560.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4a9fcfd7cc61d4b8f39a483ef920e3573928cc3ca6b33c757be6079a6f5ceb41
BLAKE2b-256 checksum
How to use checksums
daa8d28c1fe0f0c8a4eb332f73cae896abab6d4ec40605b406c6a91f792034e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-win32.whl

Download URL optree-0.20.0-cp311-cp311-win32.whl
Size 524.4 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
7caae62dddc97e67987cf5120af7071fc607fd97d971ef577973b9802b3215f5
BLAKE2b-256 checksum
How to use checksums
d8baf415fec3d73ab5bfcade8998347b0e00aa738682ecaef7325d356c20cffc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp311-cp311-manylinux_2_39_riscv64.whl
Size 440.0 kB
Tags CPython 3.11 Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
12714fc260c7e050190ee9bb588bd812a21e7825583282161fc8d888d787fedc
BLAKE2b-256 checksum
How to use checksums
b4724117e63f9fc5d65a7646a44b0cdf979cccdaca765793173b72d463d500a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 477.9 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cd49b5a6066ebb027b37afa19f02d77e33067f33b0d5b7602b537e6892789d00
BLAKE2b-256 checksum
How to use checksums
0302483d389f5d4984b9aab12a6c16c43cc3f27304487f22f7e99aaf1c0deb5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 500.3 kB
Tags CPython 3.11 Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
89bc875b0e32ded977189892d636c19999d8a08979341068376fef0cae5df3f0
BLAKE2b-256 checksum
How to use checksums
606343d8d89bd15c65435fca92e735fea102c5a9e4150c56065f713141bdd720
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 497.4 kB
Tags CPython 3.11 Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
8da4eb98ad2ab622cc04a4f0b5f1a1c169d231806d8a2fc8ddbc8dde4fd0fe65
BLAKE2b-256 checksum
How to use checksums
c1442c6d462161b72ca3867fcefd5cadf0a6223a276e0fdc5c06c05c2ce83182
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 498.9 kB
Tags CPython 3.11 Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
c8b29a3e1e9554ecd68416e6bf437de25d2fac7808eada18fc275621688c9687
BLAKE2b-256 checksum
How to use checksums
b15f5927db85d5783722a6f357b09910c487025e682f45bae07a752ee0eb6e05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 434.4 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
90e0d2e4c052fa1c2e35720e4b998c972d32bfe52647957f73bb1a9d3d958c78
BLAKE2b-256 checksum
How to use checksums
dee4f4edac803dc315d4964a6a9be5235a52f3bcef6610377582be8dfb1aa5ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp311-cp311-macosx_11_0_arm64.whl
Size 408.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a2e3850d24ec380d5f840b37276c5388107c87fba94a7bb1c5857fe8c7041278
BLAKE2b-256 checksum
How to use checksums
35bf598a523f209106e0c485410709b414a35c5cc78b373acfa05af2623199ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL optree-0.20.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 438.0 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
18cc2e15930e3cac77b92b6a90e22287036ef5f8bbcd32c628fc2c964ec6e4c4
BLAKE2b-256 checksum
How to use checksums
1bc62a089042de4705994f9e58fdbd47c4c98761ed05fcd8579e795bb0a786b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-win_amd64.whl

Download URL optree-0.20.0-cp310-cp310-win_amd64.whl
Size 548.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
009e77bc761100903b45ace3124e073b4936594f5ada106578a4dcc73176a0e0
BLAKE2b-256 checksum
How to use checksums
3e5c0f56fcc15bcffa2ce55fff9598b8275fd6ac8078f587946c9a100af00b09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-win32.whl

Download URL optree-0.20.0-cp310-cp310-win32.whl
Size 514.2 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
68c791fc601ffac01b2f9ba1507ea4c7541bd09450bb2a4a0ad93efcb67f9601
BLAKE2b-256 checksum
How to use checksums
015b9e5f02ebf8a015255ed18691c8c532031d847c43e53c4e7490c04fc24d1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp310-cp310-manylinux_2_39_riscv64.whl
Size 417.5 kB
Tags CPython 3.10 Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
8d12c75da53f46bf5c374b1f845d5173c75f614c765b93df54296f8b17899750
BLAKE2b-256 checksum
How to use checksums
783e53b3d643595f8f0f6ac0e8378b331f6cde49991e0c687469e62406fe9165
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 452.5 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4fcebed2ae8ff91dafc958e554bfde0e0ce3974d869eeb75da14b984854b6ce2
BLAKE2b-256 checksum
How to use checksums
53a2baffa18fdef9e70363eb2e6bac1e56f6bbe54c21f924fc78ead8237764ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp310-cp310-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 472.3 kB
Tags CPython 3.10 Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
9cb2ecab1efeb8c6cf70395fd618dcc3d3f0d91f7158dcf8c4eb61e660dfd342
BLAKE2b-256 checksum
How to use checksums
39cc96fb37a8cfca58635d59347bad920fb9347191c9faf5b68efd4dea0a2a9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp310-cp310-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 474.4 kB
Tags CPython 3.10 Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
6800cde5da3feb8d1ff6688e6d8f57f7bb5840f33763cbceaca5423ac1a32c6d
BLAKE2b-256 checksum
How to use checksums
926e28c679a3128fa8344204c71121a6edf2b090bb80de9d59ed6dde6a87522b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp310-cp310-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 474.2 kB
Tags CPython 3.10 Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
66f669e57b16f721f3e46784bdd7aefd958ab58912fdd5d5c16a8968907eb77d
BLAKE2b-256 checksum
How to use checksums
dfe5ecbe4a7653e1efec10dab77372018cf4e4ad19f833b390e6a2e187007108
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 414.3 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a0c4614f0de44fd6bdedc676e903411afebd6ce2fd25878992ff1159538bfb36
BLAKE2b-256 checksum
How to use checksums
ce5869633db88f3f1ee3665a2f6fec72e5e286fd06d0d41340869ae24895ed47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp310-cp310-macosx_11_0_arm64.whl
Size 393.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3ecb6a2ecaa7e9308b9a7676fa199829661f4a674e8dfa055fe79e9f629bd7a8
BLAKE2b-256 checksum
How to use checksums
394a35edeb9ee2941618e0a876ad8cf3ab68b83edd19c0b4b8c4142add0bb055
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL optree-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 422.8 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
6e3ad93828cade7cf21da2d9aa5122cfce1fdabc8a76a44387a5af7fc8f408d3
BLAKE2b-256 checksum
How to use checksums
c7a68e1da96d252f8acbb486511576681bd9013167724ad12de0c2aac3b3ae77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-win_amd64.whl

Download URL optree-0.20.0-cp39-cp39-win_amd64.whl
Size 548.8 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
1de0d19cb7d6e916573f68f1d20a10d2b241cdf3ddda900b740712d9a394b25e
BLAKE2b-256 checksum
How to use checksums
ace51fd0a26dd5e6bdf4b56b03b4b171244f29ec304ee31ec4364f3c7dbd1c08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-win32.whl

Download URL optree-0.20.0-cp39-cp39-win32.whl
Size 514.9 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
40dd43577b31ce6c841583d1ef17285cb6dc6badd307dd1eef783d17d35a9a2a
BLAKE2b-256 checksum
How to use checksums
25d10d8337ff11c32d777c971ca819912263f1218a24e87f32be8f3f0ec262f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-manylinux_2_39_riscv64.whl

Download URL optree-0.20.0-cp39-cp39-manylinux_2_39_riscv64.whl
Size 417.5 kB
Tags CPython 3.9 Linux glibc 2.39+ RISC-V 64
SHA-256 checksum
How to use checksums
4a50353c81f990c0164831a3f3170b3d04576947e996438fc17defcd3316b681
BLAKE2b-256 checksum
How to use checksums
449d2282ea08c277bb7729b2f061843f1ce08a7fceff09efefb2e09a8a5f5166
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL optree-0.20.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 452.7 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2eb690243846f209f29605f40e23abac830ba528f7dc23d81bf11b136ba41598
BLAKE2b-256 checksum
How to use checksums
d8642643f68f35e70b8abc57078609cbd1e976f0a26631e21f8d4c9fdee43ca5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-manylinux_2_26_s390x.manylinux_2_28_s390x.whl

Download URL optree-0.20.0-cp39-cp39-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
Size 472.4 kB
Tags CPython 3.9 Linux glibc 2.26+ IBM System/390x Linux glibc 2.28+ IBM System/390x
SHA-256 checksum
How to use checksums
d4f7d027601cc9ac61411e4b14705f90fac5323fe6e055348d93b14f20f30c1b
BLAKE2b-256 checksum
How to use checksums
060ae4939bec4c0941fe5f6c26fd929c066d30a7be58386362bd5b8b52b5d9c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl

Download URL optree-0.20.0-cp39-cp39-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
Size 473.8 kB
Tags CPython 3.9 Linux glibc 2.26+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le
SHA-256 checksum
How to use checksums
5d7aeafe91078991f594112fecab499b6210baa634d17a3fbe3cbc7cf90ba99a
BLAKE2b-256 checksum
How to use checksums
05e63d9996c6705e0c24ee9075e1dc5f8b7bb8e0ea234f83aeedb7ef753582e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-manylinux_2_26_i686.manylinux_2_28_i686.whl

Download URL optree-0.20.0-cp39-cp39-manylinux_2_26_i686.manylinux_2_28_i686.whl
Size 474.1 kB
Tags CPython 3.9 Linux glibc 2.26+ x86-32 Linux glibc 2.28+ x86-32
SHA-256 checksum
How to use checksums
7d40293a467bc6b48bb2b5a2eaccc97522261832a86c05b871442fc44f9dcd17
BLAKE2b-256 checksum
How to use checksums
5ce79c0a7cb47e5a94a4642b7c915a6f2dad84c27d1e6eca1e9b392c9e67dc87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL optree-0.20.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 414.4 kB
Tags CPython 3.9 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
8240c3fb378f0e472383fa50558d24f1c7351a42169953ade836189305eb76aa
BLAKE2b-256 checksum
How to use checksums
809c78538c34b425d98f20f60529bccb3e04b67fc125856498f07977f641bbeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL optree-0.20.0-cp39-cp39-macosx_11_0_arm64.whl
Size 393.1 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8eea0324aa4b5acafd58063e75896c95ba32206445ab2c9972c9431baed7edd6
BLAKE2b-256 checksum
How to use checksums
9648847e1ca8dfbcb13fedb7e62e59aa605fb576a499fab941e2a0a68f40d695
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / optree-0.20.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL optree-0.20.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 422.9 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
354d4d5b27804137795b9cde9b8b617f82f0f63a4a437c30de83620f09d8804c
BLAKE2b-256 checksum
How to use checksums
4e77e1266d81373451fae5893a90b66169394cf5369dc38c7c01860d3281a6b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.20.0 This release

123 release files

0.9.2

32 release files

0.9.1

32 release files

0.9.0

32 release files

0.8.0

32 release files

0.5.1

29 release files

0.5.0

29 release files

0.4.2

29 release files

0.4.1

29 release files

0.4.0

29 release files

0.3.0

29 release files

0.2.0

29 release files

0.1.0

21 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page