Optimized PyTree Utilities.
Project description
OpTree
Optimized PyTree Utilities.
Table of Contents
Installation
pip3 install --upgrade optree
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.pytreeis introduced as aliases foroptree.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 theoptree.pytreeAPIs with a given namespace. This is useful for downstream libraries to create their own pytree utilities without passing thenamespaceargument 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:
tuplelistdictcollections.namedtupleand its subclassescollections.OrderedDictcollections.defaultdictcollections.dequePyStructSequencetypes created by C APIPyStructSequence_NewType
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, wherechildrenis an iterable of subtrees andentriesis 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:
- 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
multiprocessinginherit a copy.
[!WARNING] For safety reasons, a
namespacemust 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.
-
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 differentnamespace.[!WARNING] Any
PyTreeSpecobjects created before the unregistration still hold a reference to the old registration. Unflattening such aPyTreeSpecwill use the oldunflatten_func, not the newly registered one. -
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
dictandcollections.defaultdict) is fixed. -
Inherited subclasses are not implicitly registered. The registry lookup uses
type(obj) is registered_typerather thanisinstance(obj, registered_type). Users need to register the subclasses explicitly. To register all subclasses, it is easy to implement withmetaclassor__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'>))) ]
-
Beware of infinite recursion in custom flatten functions. The returned
childrenare 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 — "equal dict" implies "equal ordering of leaves" — the leaves (values) are returned in key-sorted order.
The same applies to collections.defaultdict.
>>> 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 and collections.defaultdict 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
dictkeys are not required to be comparable (sortable) or of a single type. Keys are sorted bykey=lambda k: kfirst if possible, otherwise falling back tokey=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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file optree-0.19.1.tar.gz.
File metadata
- Download URL: optree-0.19.1.tar.gz
- Upload date:
- Size: 177.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4497d1c9197b8c6842e511368163d318ce536521ebdcff8bebb7551dcdfac532
|
|
| MD5 |
e7456960d6f888147f56ec30c61c5fc3
|
|
| BLAKE2b-256 |
446392328a17ab7836562fe0129e605f685a88db35ce98427c34ff48ee4ec157
|
File details
Details for the file optree-0.19.1-pp311-pypy311_pp73-win_amd64.whl.
File metadata
- Download URL: optree-0.19.1-pp311-pypy311_pp73-win_amd64.whl
- Upload date:
- Size: 341.6 kB
- Tags: PyPy, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e12ee3776a16f6feaa8263b92469ad546b870af71d50602745855d8449219221
|
|
| MD5 |
bf5b0283ca5ea779cce0b44a01877bcf
|
|
| BLAKE2b-256 |
c78ed251c9338771ef0f9db8e538bd77810100c495734b57494464c7e223f0d0
|
File details
Details for the file optree-0.19.1-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 449.5 kB
- Tags: PyPy, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
732c4581fb666869b8b391ec4ca13d2729795f9abe72b5aec2e582bcbea1975d
|
|
| MD5 |
a39268b2263d290b0b478f493adca2a7
|
|
| BLAKE2b-256 |
3ea5647b93eb16244cc7f6dfccc025ac495245e306ff4cb8f9ad15718219141a
|
File details
Details for the file optree-0.19.1-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: optree-0.19.1-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 409.0 kB
- Tags: PyPy, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3507ae5db5827eef3da42d04c5a41df649cedc2e42d5d39dc0f869d36915a00b
|
|
| MD5 |
8ae1f4d7b9435735d5beb1c0e3e6ce3a
|
|
| BLAKE2b-256 |
fc67f31784a7a2dcc0c1f84b691afc552ea5b26db5f56657692a12954a828db4
|
File details
Details for the file optree-0.19.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl.
File metadata
- Download URL: optree-0.19.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl
- Upload date:
- Size: 390.2 kB
- Tags: PyPy, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77d93eafbd0046c7350bc592ab8e3814abbd39a6d716b5b1e5d652cc486f445c
|
|
| MD5 |
dc1469f7b0786b49ff243512787e30ce
|
|
| BLAKE2b-256 |
520b80fb1b289940e34858cb89f05bc7ce23d6d1272886c2f78bc7e3ab1a306b
|
File details
Details for the file optree-0.19.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
- Upload date:
- Size: 417.5 kB
- Tags: PyPy, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f4f1c276fa06227cdaf58349d22a3231b3dd3d47de1f90a86222ebf831fc397
|
|
| MD5 |
f69cb978f7952d4128768466342e4c39
|
|
| BLAKE2b-256 |
2bd4ffeedc86f8b91e5c17994f38bd1f7aa2e20f9b70a6d3ae906af16414626c
|
File details
Details for the file optree-0.19.1-cp314-cp314t-win_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-win_arm64.whl
- Upload date:
- Size: 396.1 kB
- Tags: CPython 3.14t, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e103e212d1e8fe0399ed076eff80a905fb14929729bbd994d3660110a27a252
|
|
| MD5 |
548b96d82ef622c5284eccb8d714ffc3
|
|
| BLAKE2b-256 |
07426d6f93416c66820cb8753e65b5ff43c47480af9c4911bd2b8406ff0f7f27
|
File details
Details for the file optree-0.19.1-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 397.8 kB
- Tags: CPython 3.14t, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60e9345405d7b06cafdf1b1dd2e2261ceddddce10f35729240f90e2bab845a0b
|
|
| MD5 |
aa78cc71f5edffc299c3f9a71a84fd1d
|
|
| BLAKE2b-256 |
e0347f48b7034ff75d2eb3e94e2196709ddbf762798fb621f9508899fa66b44e
|
File details
Details for the file optree-0.19.1-cp314-cp314t-win32.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-win32.whl
- Upload date:
- Size: 357.5 kB
- Tags: CPython 3.14t, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
312048e69dc88de26915674f961bf38980a765a6b48ead2f1672858a39402c41
|
|
| MD5 |
36106d89c48333b1c9b6583e62148ce5
|
|
| BLAKE2b-256 |
3feb489d22ef3cadb2f5f3bbd6e6099d17b5a521ff533e086f78f005c3358017
|
File details
Details for the file optree-0.19.1-cp314-cp314t-manylinux_2_39_riscv64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-manylinux_2_39_riscv64.whl
- Upload date:
- Size: 440.1 kB
- Tags: CPython 3.14t, manylinux: glibc 2.39+ riscv64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de8acbed5965beae6f6b0456fcb8d1afaea1fe300810739e88645e22138849bc
|
|
| MD5 |
bbd15f0d36aacb80b2a6c18e7108bfdd
|
|
| BLAKE2b-256 |
6391e363f4adda292f891ca0cf5748010fea955737bdf494cc11d4c3bcda6935
|
File details
Details for the file optree-0.19.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 475.1 kB
- Tags: CPython 3.14t, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5f8383952f18d5a4ec6b248d8ae6fe27012434ad9750aa33a821ad4846da5af
|
|
| MD5 |
cb15c89c5585d9c118bf4416e76cd750
|
|
| BLAKE2b-256 |
b38d42a8ca6277ef93d47ab0986e30a25134206afe0c6e6c3425c8736b2677ba
|
File details
Details for the file optree-0.19.1-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
- Upload date:
- Size: 490.9 kB
- Tags: CPython 3.14t, manylinux: glibc 2.26+ s390x, manylinux: glibc 2.28+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f55841132ba8a34dbbd85e0c2cf990602384eea0e4638df986cd3266482f4a17
|
|
| MD5 |
bc924fb1ce8005deb3b4c6fe021578d6
|
|
| BLAKE2b-256 |
4d73266b9de8eb5b16bfe7010c90c55840517d5d61ee6e0ca64901440296d97a
|
File details
Details for the file optree-0.19.1-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
- Upload date:
- Size: 491.8 kB
- Tags: CPython 3.14t, manylinux: glibc 2.26+ ppc64le, manylinux: glibc 2.28+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a74e0656ccef45b1fec07b9d964ce97f3def8bab73711f56175076c4259884f
|
|
| MD5 |
e1bafa8a719f27c2fe65312a327cd16a
|
|
| BLAKE2b-256 |
b89a9e183c610c414cba581f9afda7610589d89cae229d627b14f8480425d975
|
File details
Details for the file optree-0.19.1-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl
- Upload date:
- Size: 494.6 kB
- Tags: CPython 3.14t, manylinux: glibc 2.26+ i686, manylinux: glibc 2.28+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
470742544ff2d4b63843023f38dcfb83e82c3a9877c783dee0e69cbb974de6d1
|
|
| MD5 |
0173e2530e947e48fae519985ae60bf9
|
|
| BLAKE2b-256 |
68dc6d0ef14bc82bd54046c1a066d25fa6854123a6b29fd691f1f95dec3ab45f
|
File details
Details for the file optree-0.19.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 432.0 kB
- Tags: CPython 3.14t, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfae64c4c371640a4b3e2a9e3e6aa3a3e8cdf2da5247a88fef5b632614b948a6
|
|
| MD5 |
6693774d5a8b6ec8fcf3fcb9e312179b
|
|
| BLAKE2b-256 |
9b3fa5f8fb3ec3840f885de52d7a793ba57ace17990e3a9b3797218425ffe842
|
File details
Details for the file optree-0.19.1-cp314-cp314t-macosx_11_0_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-macosx_11_0_arm64.whl
- Upload date:
- Size: 437.3 kB
- Tags: CPython 3.14t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a609c90e4f64e4f3e2b5b3cc022210314834737e0e61a745485e33b33eae773b
|
|
| MD5 |
82d3f33bae03c74f3125371e16042490
|
|
| BLAKE2b-256 |
9260f7539012aa8a7488c1e34f66b76eadc384c3152dd9800973f1b5fe045dfd
|
File details
Details for the file optree-0.19.1-cp314-cp314t-macosx_10_15_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314t-macosx_10_15_x86_64.whl
- Upload date:
- Size: 469.1 kB
- Tags: CPython 3.14t, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
068edb89fadd94f6f57fdb51f4ad2c764b5a0bfd00903c55ffe433c2863a8037
|
|
| MD5 |
cd18e153fa2b980ebcede2f51075a4dd
|
|
| BLAKE2b-256 |
ae2d4f7facd482d56079b7adb8ce3fede19f41629bc0463e8ee25907f1dba36c
|
File details
Details for the file optree-0.19.1-cp314-cp314-win_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-win_arm64.whl
- Upload date:
- Size: 361.6 kB
- Tags: CPython 3.14, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c682ab6711b7a623503711fa661a2bba7886e1c21dc06c3b7febba101b458051
|
|
| MD5 |
5f0a06776bdeda44509550ea0bc217ac
|
|
| BLAKE2b-256 |
1cab55d7508e87055c730fe7207cfd0c45183a07ddf1f91d9e73d017a7f8c1f4
|
File details
Details for the file optree-0.19.1-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 351.7 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50d77b91a8cd01adf422472b7edf39fc445b0268816176a868a385d28f8367c2
|
|
| MD5 |
ead8f66ce652805d3b511a672306c4c2
|
|
| BLAKE2b-256 |
96c34f2f318b98465376bbb7a06a33da553c688b3ed39dafbb8307f824eef74a
|
File details
Details for the file optree-0.19.1-cp314-cp314-win32.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-win32.whl
- Upload date:
- Size: 325.2 kB
- Tags: CPython 3.14, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0c920579bddc3b18a0e051850f017618e24efcc19ba83dcd415cf74db5fd904
|
|
| MD5 |
e562e005bdda19b6d79945c6abc83ba3
|
|
| BLAKE2b-256 |
208a83c64ecadc686e08310fc9c20bc0bbe6453e89b69257e08887818dac7886
|
File details
Details for the file optree-0.19.1-cp314-cp314-manylinux_2_39_riscv64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-manylinux_2_39_riscv64.whl
- Upload date:
- Size: 423.8 kB
- Tags: CPython 3.14, manylinux: glibc 2.39+ riscv64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f61a01ed9991193ed6f3db8e956ede05218190a32ca2ddfb71cfc40c8daba1d5
|
|
| MD5 |
9cb8c5d597c3050c28f90e0fa96edbd3
|
|
| BLAKE2b-256 |
f488598fb91c06fee3d8b08568779b011225dc2b66140927bd0b2b2d9b40a566
|
File details
Details for the file optree-0.19.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 463.0 kB
- Tags: CPython 3.14, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d0e1493429ae1d1a5e34855774ee604c974a8f76656bd0e562cdbf9466c9b1f
|
|
| MD5 |
c671ddf9a4b3799b119086ea2b5eca38
|
|
| BLAKE2b-256 |
9c1a4834b1f2fb1847412353d7342eb7a1d001a4f3bd9d24155e057135a4aa44
|
File details
Details for the file optree-0.19.1-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
- Upload date:
- Size: 481.1 kB
- Tags: CPython 3.14, manylinux: glibc 2.26+ s390x, manylinux: glibc 2.28+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17a986fd91ccdc18bb7b587ca1f508c1761580a93517e6db33a13b22e46acb9b
|
|
| MD5 |
2350e5d3382c10d0435296419deb01e0
|
|
| BLAKE2b-256 |
7ccabd9553f94bec0bc7860f10ae177c14ca265ab19ddb463122be22fa335ee8
|
File details
Details for the file optree-0.19.1-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
- Upload date:
- Size: 479.8 kB
- Tags: CPython 3.14, manylinux: glibc 2.26+ ppc64le, manylinux: glibc 2.28+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dae6c247cc8751bd2f167951468769f5c98f8cfdae31c0db0f2eb4145a6ec560
|
|
| MD5 |
425b06887ecf120c928b1552a2bc6b9f
|
|
| BLAKE2b-256 |
22472c76c7ce937323988770c41126e0e380bcb73a816f68a767f23b5c33aced
|
File details
Details for the file optree-0.19.1-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl
- Upload date:
- Size: 482.8 kB
- Tags: CPython 3.14, manylinux: glibc 2.26+ i686, manylinux: glibc 2.28+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3bba2af7a5fce0c25e99024688e68dfe9be41e3d6e92720febbefdc879fba38
|
|
| MD5 |
638bd3be5fe6df082a28c4133f29dd09
|
|
| BLAKE2b-256 |
ec4125144e61f76278b9e0a5d4189c7083fe853164c5f7328a1f5aac43d964c2
|
File details
Details for the file optree-0.19.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 419.6 kB
- Tags: CPython 3.14, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
987bba55366917d9829f45b5ee86499ecc87a30e9103072db9ab8d67f9958179
|
|
| MD5 |
63045fb44d87cbacb6a563785bc7a741
|
|
| BLAKE2b-256 |
17b5ac51aa118dd918761519fbc031865b1d6f850453e9a7ac0c3da21109c4f0
|
File details
Details for the file optree-0.19.1-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 398.2 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b17a7b70ff8bd406c2142914c5ab0a57f8bcfb9f52181f7012e32406bbdbfdda
|
|
| MD5 |
7443db1dec54ca905b8e9e99094e22ec
|
|
| BLAKE2b-256 |
49cc14dd93887295859457e507fc46a847b68ae8f20c42b2fde4d8a749c94bbc
|
File details
Details for the file optree-0.19.1-cp314-cp314-macosx_10_15_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-macosx_10_15_x86_64.whl
- Upload date:
- Size: 427.4 kB
- Tags: CPython 3.14, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2757c5d922aab76cfc9b870c373fb35209c2094e3c912733b326c043e85a0c6
|
|
| MD5 |
51a5f96c05e7e595cf743b075b8e1343
|
|
| BLAKE2b-256 |
24f6a7bf5d75a6481038bbb61846d87d43124d63741385796ef7b37d326f46bd
|
File details
Details for the file optree-0.19.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl
- Upload date:
- Size: 397.8 kB
- Tags: CPython 3.14, iOS 13.0+ ARM64 Simulator
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
930268ebfdebca43a8808f6293910d6ade2fe7c84fa784692017d7120d285226
|
|
| MD5 |
95ba06a10a9e3bc45b348e0796064bc7
|
|
| BLAKE2b-256 |
8225fc648710102960f87d18cd8fc8a24afe14a5ec7827c64dfb1340230c0794
|
File details
Details for the file optree-0.19.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl
- Upload date:
- Size: 391.0 kB
- Tags: CPython 3.14, iOS 13.0+ ARM64 Device
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae9d42718ebf985cdad3182364b5cf829193b8fd2c6d993fbb4111d38e2bdf96
|
|
| MD5 |
d07444b91495a4864e4d372edf781b5e
|
|
| BLAKE2b-256 |
6b87ff1c6bb6b79a5d0b70b83f7ae8b78811a406a749b3ae4478a2122a7afb66
|
File details
Details for the file optree-0.19.1-cp314-cp314-android_24_arm64_v8a.whl.
File metadata
- Download URL: optree-0.19.1-cp314-cp314-android_24_arm64_v8a.whl
- Upload date:
- Size: 927.8 kB
- Tags: Android API level 24+ ARM64 v8a, CPython 3.14
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1951ddc870f67430310fd17393971c30510ee9fd290525b44c12afe25f3c307
|
|
| MD5 |
6c784e184f59109a407e2aaf4eefeacc
|
|
| BLAKE2b-256 |
e3da4e16e26375c56c9e40760697af4e2b72f196c2099e96cc783b63dcc862a8
|
File details
Details for the file optree-0.19.1-cp313-cp313t-win_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-win_arm64.whl
- Upload date:
- Size: 388.0 kB
- Tags: CPython 3.13t, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9120510d3f951e268e417a3f64f335bc1c539e1e80bff2129ddc6fb60ac7b56
|
|
| MD5 |
1caa0fc726656fe8998a58d13943e300
|
|
| BLAKE2b-256 |
fcfa8c0882cdd42e28a23c1998297c8ad1202194510cbba8b050251429c641c0
|
File details
Details for the file optree-0.19.1-cp313-cp313t-win_amd64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-win_amd64.whl
- Upload date:
- Size: 382.4 kB
- Tags: CPython 3.13t, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afd4abeb2783b2367093287bc6268ac9af244b20c8d9b01696ccfe817483b66c
|
|
| MD5 |
806b2d7af25ac8751a29faceee4ef1b9
|
|
| BLAKE2b-256 |
d92b0be3f8b9765f366e3e12d0590e9c6514de110d0c5b3b9002f49e56bf15b1
|
File details
Details for the file optree-0.19.1-cp313-cp313t-win32.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-win32.whl
- Upload date:
- Size: 348.6 kB
- Tags: CPython 3.13t, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab8ad9803376d553a2958471b6bb6842b7e15888e19cc6aeb76da96c6afd948d
|
|
| MD5 |
70f6592a523a6be0c7b12b73294bb959
|
|
| BLAKE2b-256 |
a55834820bab11f28ba6b03fe9e151880ad591b43f26648f058c94451fbdfc3a
|
File details
Details for the file optree-0.19.1-cp313-cp313t-manylinux_2_39_riscv64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-manylinux_2_39_riscv64.whl
- Upload date:
- Size: 442.4 kB
- Tags: CPython 3.13t, manylinux: glibc 2.39+ riscv64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9b9c7e9148ec470124dc4c1d1cd1485dbeb35973357b5911b181a79090426d2
|
|
| MD5 |
f1854262da0056aa19e79d291a09abd4
|
|
| BLAKE2b-256 |
0a661603680fa924e68e5697c1229510c0645db0a9c633a12d1a9bfdbfc9cb74
|
File details
Details for the file optree-0.19.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 475.6 kB
- Tags: CPython 3.13t, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03faa8e23fdaf3a18f9a1568c2c0eb0641a6aa05baf3a20639bd11fb34664700
|
|
| MD5 |
052ad3366e136cacd2e26789d55f0b58
|
|
| BLAKE2b-256 |
d96140c3463e52914d552c66c760ae15e673137c4cc1d1d9f8da0d745656193a
|
File details
Details for the file optree-0.19.1-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
- Upload date:
- Size: 495.4 kB
- Tags: CPython 3.13t, manylinux: glibc 2.26+ s390x, manylinux: glibc 2.28+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76b3e9e5d37e6b05ec82fff91758c8c0e27e159b35faea4b33d5eb975d720257
|
|
| MD5 |
58bfc211f2fb1c091546d7554f55a7cb
|
|
| BLAKE2b-256 |
f5282210de9a68722007fe007da3cae1a5971b92fc8113b5eecef66a04637959
|
File details
Details for the file optree-0.19.1-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
- Upload date:
- Size: 492.8 kB
- Tags: CPython 3.13t, manylinux: glibc 2.26+ ppc64le, manylinux: glibc 2.28+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc2db0b449baff53aa7e583306101de0ade5e5ae9e6fce78400eb2319bbd23dc
|
|
| MD5 |
da4b8d9c63eaa2d5d6c961be17f41af4
|
|
| BLAKE2b-256 |
7f46506aa1a64abce69e2f4cec9cdac3da0cae207cf04c5e70e7f143bf8b29d8
|
File details
Details for the file optree-0.19.1-cp313-cp313t-manylinux_2_26_i686.manylinux_2_28_i686.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-manylinux_2_26_i686.manylinux_2_28_i686.whl
- Upload date:
- Size: 496.3 kB
- Tags: CPython 3.13t, manylinux: glibc 2.26+ i686, manylinux: glibc 2.28+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d16cef4d0555d49ce221d80249f1285a2d3faf932e451c3ce6cb8ccb6a846767
|
|
| MD5 |
207d1961cb9135bb1577923737999153
|
|
| BLAKE2b-256 |
d6996a4cc29389667efa089a0c476b7c36b7d0a66e10dd2d8c2d19c776977566
|
File details
Details for the file optree-0.19.1-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 433.5 kB
- Tags: CPython 3.13t, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
672588408906051d3e9a99aca6c0af93c6e0b638137a701418088eaa0bb6c719
|
|
| MD5 |
7e261a58a2e377a049a55977116e6615
|
|
| BLAKE2b-256 |
795504260128a726e3550b49467a65bff859452897144b68bae54b2f2e5c27f1
|
File details
Details for the file optree-0.19.1-cp313-cp313t-macosx_11_0_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-macosx_11_0_arm64.whl
- Upload date:
- Size: 437.1 kB
- Tags: CPython 3.13t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08ccec0ee5a565eb5aa4fe30383016a358627ea23d968ec8ab28b1f2ce4ce3d8
|
|
| MD5 |
d43da6df96335539189b8e53c6fe927f
|
|
| BLAKE2b-256 |
6433ce9b54646ed4ab5773a9dc59767dadfe3de8bb2e97a3ed19205b995a7a31
|
File details
Details for the file optree-0.19.1-cp313-cp313t-macosx_10_13_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313t-macosx_10_13_x86_64.whl
- Upload date:
- Size: 469.7 kB
- Tags: CPython 3.13t, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b964bcdb5cfe367cdf56447e80ba5a49123098d8c4e8e68b41c20890eec6e58e
|
|
| MD5 |
e83d2c0bb28f6527351468abe156a89e
|
|
| BLAKE2b-256 |
9c774c8108cbce2c8ae2aa4b6adc7874082882e32cf131cb64b3a4411f50dec4
|
File details
Details for the file optree-0.19.1-cp313-cp313-win_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-win_arm64.whl
- Upload date:
- Size: 353.1 kB
- Tags: CPython 3.13, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f0b1efc177bed6495f78d39d5aa495ccb31cc20bcf64bb1b806ca4c919f4049
|
|
| MD5 |
97abdbaab1ca010f7e1e6391c6e9a3f8
|
|
| BLAKE2b-256 |
c6a91ae0a9685f5301f454f01d2490065b98df6956f90b1b2fd1cea9daa6d820
|
File details
Details for the file optree-0.19.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 343.9 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa0845b725bcd0029e179cf9b4bc2cc016c7358e56fc7c0d2c43bf4d514c96cf
|
|
| MD5 |
686d5bbed19d0e4eb047db20ff85d522
|
|
| BLAKE2b-256 |
505249b8a8d9e94c57c6fa5008953f84a1c36a4119a3b90dcb7df745f1f05a00
|
File details
Details for the file optree-0.19.1-cp313-cp313-win32.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-win32.whl
- Upload date:
- Size: 317.4 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9870d33ec50cca0c46c2b431cea24c6247457da15fd4ad66ccb8ab78145c1490
|
|
| MD5 |
448a8eedbd237fa63b6ad2addca1d875
|
|
| BLAKE2b-256 |
5f34637b151d071ca94aea0087322f470ce84c5828ef6b9c0de7dc7b4420a1cf
|
File details
Details for the file optree-0.19.1-cp313-cp313-manylinux_2_39_riscv64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-manylinux_2_39_riscv64.whl
- Upload date:
- Size: 423.1 kB
- Tags: CPython 3.13, manylinux: glibc 2.39+ riscv64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1d7838e8b1b62258abd73a5911afad1153ed76822070558c3ba7e0bb5b44192
|
|
| MD5 |
f6e4d014dad299dc1e58deb4fa6d36d1
|
|
| BLAKE2b-256 |
ee0ca073eeaea4d4f68e02d5883ed8268746a296e6749e3c46e0124ca45f306c
|
File details
Details for the file optree-0.19.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 462.4 kB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dde5b756946c1f1458aeab248a7a9b0c01bb06b5787de9f06d52ad38b745557
|
|
| MD5 |
3398053b354c56226989b8870666b5a6
|
|
| BLAKE2b-256 |
68b58a2427bbe4ee59e2ce26a14125728e3b48c7030c80984ba07d0e5d804d37
|
File details
Details for the file optree-0.19.1-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
- Upload date:
- Size: 478.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.26+ s390x, manylinux: glibc 2.28+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
544b70958dbd7e732bc6874e0180c609c9052115937d0ec28123bb49c1a574aa
|
|
| MD5 |
6848e844d77d0594f2c61433c7d956db
|
|
| BLAKE2b-256 |
b16e6c6fa6f1159ac68f4ee7666610127fb4c14d47a2fa7a0a48de3aecc24d4b
|
File details
Details for the file optree-0.19.1-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
- Upload date:
- Size: 477.9 kB
- Tags: CPython 3.13, manylinux: glibc 2.26+ ppc64le, manylinux: glibc 2.28+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9690c132822d9dee479cf7dff8cc52a67c8af42a4f7529d21f0f4f1d99e4c84e
|
|
| MD5 |
ad7036399227551ea93c1a2814350a7b
|
|
| BLAKE2b-256 |
7dd47499d28be8b11eb40668262d27802119fe7e6ec4cd8816b76a1acd7b08f5
|
File details
Details for the file optree-0.19.1-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl
- Upload date:
- Size: 482.9 kB
- Tags: CPython 3.13, manylinux: glibc 2.26+ i686, manylinux: glibc 2.28+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e757079d44a00319447f43df5c51e55bf9b62d9f05eea0e2db5ff7c7ca5ec71d
|
|
| MD5 |
1008ea3de36f606bc0023da15bc2b7ab
|
|
| BLAKE2b-256 |
d7b0f22ff5632083b5032caa80208dd202f8e963ed4aac11afa0a0f6a307fd68
|
File details
Details for the file optree-0.19.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 417.6 kB
- Tags: CPython 3.13, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f658fa46305b2bdccdc5bb2cb07818aeaef88a1085499deda5be48a0a58d2971
|
|
| MD5 |
c0c72e4077bc067a672ca150b2798a39
|
|
| BLAKE2b-256 |
d350cd2d178099618093f5a9fd1c9de80af2b428879922eae1e9f27f1002c8be
|
File details
Details for the file optree-0.19.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 398.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c5d21176b670407f4555aae40711668832599c4fb0627000c5ce3ed0d6e2dae
|
|
| MD5 |
045043eda9245281ba290ccd70cc432c
|
|
| BLAKE2b-256 |
794c1da9e8375e7b7fd9671dc5987682b042f6412c4d6fd9da03296403818d9f
|
File details
Details for the file optree-0.19.1-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 429.9 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e70faa00ab69331f49f8337d45021bed09ae2265d1db72eea9d7817af2b73c64
|
|
| MD5 |
83e1b9043e76ea94bd5b9d67ee7d2840
|
|
| BLAKE2b-256 |
7e399d7d22cdaeb9a40ace2485f91c5b7c5f3a7f688575e2621e436561211cc1
|
File details
Details for the file optree-0.19.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl
- Upload date:
- Size: 398.2 kB
- Tags: CPython 3.13, iOS 13.0+ ARM64 Simulator
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2cb43c36638f469f5d8f4cf638e914de90c62242d8bed29f1b4487e0346ab94
|
|
| MD5 |
3ae3d1a94f1f366216fed04c5923a218
|
|
| BLAKE2b-256 |
f49646c15e80b0c97e2ba6aba11339008a37cabc5ccf55c31c6c60aecdb79638
|
File details
Details for the file optree-0.19.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl
- Upload date:
- Size: 391.5 kB
- Tags: CPython 3.13, iOS 13.0+ ARM64 Device
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39a006735d2a0a68751a3bc33d670184fddcd86db63b0293e1e819739e8105e4
|
|
| MD5 |
999bd0897f10714abff097b87015098d
|
|
| BLAKE2b-256 |
15e2670d260dfd0532d64272dd6f7edd540a09d7040c0342b6cc6cf773568ea4
|
File details
Details for the file optree-0.19.1-cp313-cp313-android_24_arm64_v8a.whl.
File metadata
- Download URL: optree-0.19.1-cp313-cp313-android_24_arm64_v8a.whl
- Upload date:
- Size: 929.1 kB
- Tags: Android API level 24+ ARM64 v8a, CPython 3.13
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f144cfd65fb17c6aa2c51818614eb009e6052d3d6ace91f7e570b1318cdcac4c
|
|
| MD5 |
c7c411af1a5b3eb46777353554c82649
|
|
| BLAKE2b-256 |
c27b0f2f3c9d55dda5127624daf68ff802ab624b739dd4b32aef505dac0c8e02
|
File details
Details for the file optree-0.19.1-cp312-cp312-win_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-win_arm64.whl
- Upload date:
- Size: 351.8 kB
- Tags: CPython 3.12, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a33bd23fc5c67ecb9ff491b75fde10cd9b53f47f8a876de842090e8c7a2437e1
|
|
| MD5 |
275402e58e530f8e8de5138c082dee5a
|
|
| BLAKE2b-256 |
3397813afb84a81fd8ae65444730907c05f0775fd6c79d3359c9e84bd3370445
|
File details
Details for the file optree-0.19.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 341.4 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06f5c8a4cf356a1a276ce5cec1be44719ed260690f79c036d04b4d427e801258
|
|
| MD5 |
9584e4f186d94150c77e07abfa3456b6
|
|
| BLAKE2b-256 |
3197d7e3ec79dcdde81f785a0446acf75fea77723f5ca4b98556350d7877986f
|
File details
Details for the file optree-0.19.1-cp312-cp312-win32.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-win32.whl
- Upload date:
- Size: 317.3 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f10d58c1a17e1b32f9d9b5e1b9d1ad964d99c1113d9df0b9f62f2fe7dde19909
|
|
| MD5 |
20ad9e06f856fd3230504cfd97363007
|
|
| BLAKE2b-256 |
9f8f6ae994bb47f9394b33912a14593f9247737dd6c3303811550e5a3e918107
|
File details
Details for the file optree-0.19.1-cp312-cp312-manylinux_2_39_riscv64.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-manylinux_2_39_riscv64.whl
- Upload date:
- Size: 417.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.39+ riscv64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0f02600832ab8d0f6c934dcb5c339e17a36938d477641a45798e02625ebe107
|
|
| MD5 |
a49594fe833fcbbfd557f8806d98a347
|
|
| BLAKE2b-256 |
a712bba07c0b769586c6bd54e81f1f734cad103dbe30abbadee940fe7d3e330e
|
File details
Details for the file optree-0.19.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 457.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0ce49f64f804f7f35f2f9c2a21e3ba94c090199fccdcfd40e3ded4426c5c175
|
|
| MD5 |
f457b67e6bb07d7dc46171603705b506
|
|
| BLAKE2b-256 |
e26a54e4c47e61a51504a5224c933722e0c8a69925aacec4c08175e9675aeb81
|
File details
Details for the file optree-0.19.1-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
- Upload date:
- Size: 474.4 kB
- Tags: CPython 3.12, manylinux: glibc 2.26+ s390x, manylinux: glibc 2.28+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddeefb7ca799c09647e332ebc1a5f6c09888a5a0e51f2dff4ca55e65b42a8c14
|
|
| MD5 |
7be8c458be1aebf2571b8f9eef809af6
|
|
| BLAKE2b-256 |
305e5323c5fa3024fdd900bdd8f14621139ed844c2247bf1a26e7cf5c1116188
|
File details
Details for the file optree-0.19.1-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
- Upload date:
- Size: 475.4 kB
- Tags: CPython 3.12, manylinux: glibc 2.26+ ppc64le, manylinux: glibc 2.28+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d934f240b109c6891dd06b2e30400b123b8a4b6ed31dcd0db2ae2378d30a6e8
|
|
| MD5 |
9d08e963bf9433e6f6f3a31aa3b48c48
|
|
| BLAKE2b-256 |
10c1f62167bd9d6f6c948b191a0943923404678d47100f777f4a8fb37816e6f8
|
File details
Details for the file optree-0.19.1-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl
- Upload date:
- Size: 476.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.26+ i686, manylinux: glibc 2.28+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d41ccc4c20bfeae01d1d221c057a6d026e84e32229664952eddcdbe4b9b71417
|
|
| MD5 |
a1ce2fabc8acd7bacdea27ed74f212b4
|
|
| BLAKE2b-256 |
f4411a4c58f2af5742b9d9e21ea9e45c6c3c49463b5e2a0537e84ead1e9597ca
|
File details
Details for the file optree-0.19.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 413.2 kB
- Tags: CPython 3.12, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a1202371d9fe3aa75f3e886b1f871aac4991a655aadb65e54f58a3ae9388ab2
|
|
| MD5 |
9a7ea2cc03cbf4bf3cee4a716e19a807
|
|
| BLAKE2b-256 |
c21e676470909aa64d7aba7c5edf83b171dc83b7af901d9ebb8e6d7512fe913a
|
File details
Details for the file optree-0.19.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 394.8 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d9d198343e1e6ced18bef0cbff84091c1877964fc4a121df33f18840e073a01
|
|
| MD5 |
5feaff26a9c0ba95fc57e7b3500793e8
|
|
| BLAKE2b-256 |
b9a13651fb32fa8617108204aa4056d283af742020e0987d106f41402005d800
|
File details
Details for the file optree-0.19.1-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 424.0 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96e5c7c3b9144f08ae40c3d9848cfbcfa36b6bead0f8215ad071d5922ee6c4a5
|
|
| MD5 |
6b35d8ab4d1008e9e55dddd24c44c403
|
|
| BLAKE2b-256 |
baa7cb5567029a608a296b0ca224025d03bba0365b41df19085b9b580191f6f2
|
File details
Details for the file optree-0.19.1-cp311-cp311-win_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-win_arm64.whl
- Upload date:
- Size: 349.3 kB
- Tags: CPython 3.11, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7853b58aa084e882ea078f390936bd92e46972eb8f9b5e654360b6480ca7283b
|
|
| MD5 |
2d2a175e3fcce0c1e18287c8d018c6db
|
|
| BLAKE2b-256 |
6c1485f4b05765287658529f09ede10461224161dcf0e29e6fce1ae488451cfe
|
File details
Details for the file optree-0.19.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 337.6 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd28a527bb363a1d7d28e8b2fb62816ace6743418bb86e9c5f27ea6877dcdf6c
|
|
| MD5 |
2f49fea87b94d05713e079e1961e1385
|
|
| BLAKE2b-256 |
22643cc7b08cb1c0f1949895f9490217ca8db6ced7f3bf75c65a5bf31c07bf1e
|
File details
Details for the file optree-0.19.1-cp311-cp311-win32.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-win32.whl
- Upload date:
- Size: 311.8 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d32b1261be71211f77837e839e43a3e3e8fc57707091d2454d0a88590fb6abe8
|
|
| MD5 |
d04ea7dee6d5ea2f8112b3b0fbf3d927
|
|
| BLAKE2b-256 |
fb0404b71a34cf5e663a1df029acceb5efc8a96c8dc4b0b6af6e98486638e913
|
File details
Details for the file optree-0.19.1-cp311-cp311-manylinux_2_39_riscv64.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-manylinux_2_39_riscv64.whl
- Upload date:
- Size: 410.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.39+ riscv64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5dc35cb31540ab6ed9850b0f8865ccd400994ebd51fcf0c156cc772073f43c04
|
|
| MD5 |
7e4cabc74fac2b74bfbc625630263d4b
|
|
| BLAKE2b-256 |
a408a7b8862e4465bf250c3ccc78db4d10b9a2cf90ce4db3681cbdf7eb076fb7
|
File details
Details for the file optree-0.19.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 447.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38f2e503fad50aff58cade85db448002d4adc72f4b3b50dcc7f3ef4bcd3b0173
|
|
| MD5 |
c2db6dc218571b3ec3aedbb6581f8b7b
|
|
| BLAKE2b-256 |
09b9f668bc51129c0fec7728ae8b43180417fe1c1fe99f71d302739f6cc50944
|
File details
Details for the file optree-0.19.1-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
- Upload date:
- Size: 465.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.26+ s390x, manylinux: glibc 2.28+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27c8dc0f89ade9233aa7ed25ce15991da188e6950eb17cc0c313fc1f327c5b0b
|
|
| MD5 |
171b0fc00c0aad8659f9c9e627cf588f
|
|
| BLAKE2b-256 |
e6d25758c76bdd7034b721d84c7f0fd911f3b39dcb489eeb27f674aaae8a5f5c
|
File details
Details for the file optree-0.19.1-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
- Upload date:
- Size: 466.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.26+ ppc64le, manylinux: glibc 2.28+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3a900df0ffb9b8259961b337289754531a7e0a5de2f681e9c80866b6a7cb74e
|
|
| MD5 |
83f2d8ba2aec46d5437051cff3d6cedd
|
|
| BLAKE2b-256 |
cb154645e1816e815a1306bbb7e3e2e6ba124f6dc325f8088a2db69301219a0c
|
File details
Details for the file optree-0.19.1-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl
- Upload date:
- Size: 466.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.26+ i686, manylinux: glibc 2.28+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96fad6c7b3a6fde3a0c8655fd003359cd247f8400749217502591a5ffc328699
|
|
| MD5 |
76116237aaa7c5bf41cd27ab67281518
|
|
| BLAKE2b-256 |
df29cdb40de6307809fa8e9452e4f9a65881a3140d01d9d589a07e9d054d8e1c
|
File details
Details for the file optree-0.19.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 406.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42e367a9d81e57c31a23247094727987a2f64b708901233a42a24d44d24e93f6
|
|
| MD5 |
735d096121b4b371d38e60f7e0edb0a6
|
|
| BLAKE2b-256 |
af2e9d1bd2527481681c4399beeeabba11dca36b16ec814579f2e8cc6bc2af96
|
File details
Details for the file optree-0.19.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 385.0 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1667e502e0eda9477925fb17c2ad879b199a2283ac98f18e6453692819b7811
|
|
| MD5 |
653a15a0ddd6cdd68b8bef9c0803ccb2
|
|
| BLAKE2b-256 |
d6937decea24656f416d61fa57b7113b1fbdbc042b7ab421399a84e1755676a1
|
File details
Details for the file optree-0.19.1-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 414.3 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a496b864fe1fe0b5ea23d1ee3d1ef958d910704661808db2b2d2e16a0cfac96c
|
|
| MD5 |
691ba00b2e11cb6b7305e7f280da451f
|
|
| BLAKE2b-256 |
c3f24671a78193f96e86c1343fe04324091e163973d0058b292c10bc3387bb70
|
File details
Details for the file optree-0.19.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 327.9 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01c88294235b118b7478b5e80d360e5f110977cdf79f84d61dae21c2eb1d4cdd
|
|
| MD5 |
f6cb838d7a2daa1e2912fa9f57e1d843
|
|
| BLAKE2b-256 |
91b54e23965aacae04eb4cf42cd8108405a6628e645ee3ab759277e03063af0e
|
File details
Details for the file optree-0.19.1-cp310-cp310-win32.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-win32.whl
- Upload date:
- Size: 303.1 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef2409d4efda1c5a6eb69f83ffff89fb04d5607fd056704552ec359fb865cd6c
|
|
| MD5 |
d614d91ac47fb9c676198c34a4015fda
|
|
| BLAKE2b-256 |
0784ee12e234ddcf4fd4b7893ce03ec37f3c3edabdac911fd5384aa3f5c04c05
|
File details
Details for the file optree-0.19.1-cp310-cp310-manylinux_2_39_riscv64.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-manylinux_2_39_riscv64.whl
- Upload date:
- Size: 390.6 kB
- Tags: CPython 3.10, manylinux: glibc 2.39+ riscv64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4bac18638fa56efd2377cf8c43e17cd083aa566e69a31ce10f7fdaefd9676a3
|
|
| MD5 |
0bc8096a5dde00b12dfa6dbee6fc9b5a
|
|
| BLAKE2b-256 |
7df4d8685b55323c1f42695c1ed647d6541ee9c289eb821abc6e0cb84b0e4f72
|
File details
Details for the file optree-0.19.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 425.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fff5fd89a9b333d91a05a7ca2e66c8e6632d0bdbc94c1725a341b77001f09511
|
|
| MD5 |
5a318eaa7dd1dee37996b262ec7c1d51
|
|
| BLAKE2b-256 |
90091f0bc2b584a51702407592bbccfe2b404187f6f5ee5b4b0c112a73e1a7ec
|
File details
Details for the file optree-0.19.1-cp310-cp310-manylinux_2_26_s390x.manylinux_2_28_s390x.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
- Upload date:
- Size: 442.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.26+ s390x, manylinux: glibc 2.28+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75fe038a1bed44f487a084af7a978874c51bba55f850bc12bf8068f3242463d6
|
|
| MD5 |
f470e7302ea69b066c7e5f44ab17e14a
|
|
| BLAKE2b-256 |
2142489fb272de36e0233149d46887879deb9497edc4a0214674bd2a80b8d4ec
|
File details
Details for the file optree-0.19.1-cp310-cp310-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
- Upload date:
- Size: 446.6 kB
- Tags: CPython 3.10, manylinux: glibc 2.26+ ppc64le, manylinux: glibc 2.28+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fb767746231ff279d273e8ff71af2a8f89c0c3870ca367c45fd4526d331ae4b
|
|
| MD5 |
d212518cc83adb93af3e896c4ad412d0
|
|
| BLAKE2b-256 |
155c2fe8ac73b7e979f3ed477ad99b7e034a11207d728b84ed2f52da259e7cda
|
File details
Details for the file optree-0.19.1-cp310-cp310-manylinux_2_26_i686.manylinux_2_28_i686.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-manylinux_2_26_i686.manylinux_2_28_i686.whl
- Upload date:
- Size: 445.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.26+ i686, manylinux: glibc 2.28+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7edead66cace8b3b905488e391b38487614f75ae4fa7f3b612c7fe0e54b8a90
|
|
| MD5 |
8643d693bc9f3a65500231a645fa1900
|
|
| BLAKE2b-256 |
d5ecee009b5a31227b089d72fec2af3bb6bc0efd95bbe87ffe46f11061b9d371
|
File details
Details for the file optree-0.19.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 390.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1687c962bb1691525178a6e90dde5840197cd7a7ad914b407eb7b635f15d47cb
|
|
| MD5 |
2bd797500e7c17889d007b3fbf9f9569
|
|
| BLAKE2b-256 |
cbe181b660daea2a75f574549e62c198d0b4e8e148b5de6f5f72e90a5cc1c334
|
File details
Details for the file optree-0.19.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 370.0 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14f959bc6bea6e0532f9239c67ea6952f3b8d0755ea9b4dd498284b649275aba
|
|
| MD5 |
e8f7bc0064f37af439adc67bcc582354
|
|
| BLAKE2b-256 |
3d4f350c82cd77a510f0f495e38a6f333b4b45a413dbc224142bc59975bc09d6
|
File details
Details for the file optree-0.19.1-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 398.4 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b28b0d89def1b4554051f3de2a1ed81e20216b6454a59a0d16c9f55c08cff77
|
|
| MD5 |
0f22f0f0af10e8b1db5da8f3a03c85ae
|
|
| BLAKE2b-256 |
1f4853367634a0ab6c2f0e502d83f8d6e27b70b6848ff1e1ff9cf042d1e1f1a0
|
File details
Details for the file optree-0.19.1-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 334.3 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65e5da77c77352b4f555c7edf69435a3dda503fe82d74e511aa2db4e6b2dedb5
|
|
| MD5 |
93c579afbca8a9682d7a125ce61a5a9b
|
|
| BLAKE2b-256 |
328fad2c207cf254bffccea4c81407d984483b5d27796e973bfb1e6eeda15512
|
File details
Details for the file optree-0.19.1-cp39-cp39-win32.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-win32.whl
- Upload date:
- Size: 303.2 kB
- Tags: CPython 3.9, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
486252b73ef0c6b94635a8d8fb91b20fc17d8bfcfe0df826c038e57ad8ffe610
|
|
| MD5 |
93766b60dd6bbc0c22f6f8be71a8b064
|
|
| BLAKE2b-256 |
b274410e2753ff61274f142bf1a284d5b555abf69e17ae1984b7471147a9d788
|
File details
Details for the file optree-0.19.1-cp39-cp39-manylinux_2_39_riscv64.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-manylinux_2_39_riscv64.whl
- Upload date:
- Size: 391.7 kB
- Tags: CPython 3.9, manylinux: glibc 2.39+ riscv64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b81d637c94fb573e91050996b154a9adf9d12d4daf67eae27b6c0836e18ba8fa
|
|
| MD5 |
5a68e47d9b0702f9891da7061aa3d6ec
|
|
| BLAKE2b-256 |
2d48b6d3fca6e87ee20c0518b64c2432a8b28d480504680116c34546919c766e
|
File details
Details for the file optree-0.19.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 425.8 kB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c380140a9cb1ac7c10d7363df9ebcf4948da4198ca584d50eb88bbf3e561b5f4
|
|
| MD5 |
7fd4badd27191df78cfea3a5a047d547
|
|
| BLAKE2b-256 |
ddc69f838f15d029ead3e3cba26921ab7c29043433fd4e1d9abc4142c4205ad1
|
File details
Details for the file optree-0.19.1-cp39-cp39-manylinux_2_26_s390x.manylinux_2_28_s390x.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-manylinux_2_26_s390x.manylinux_2_28_s390x.whl
- Upload date:
- Size: 442.3 kB
- Tags: CPython 3.9, manylinux: glibc 2.26+ s390x, manylinux: glibc 2.28+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b139d22664ac3b78690c0839446e51e79dd739026bc05c383d6d3b0e3e6f1b9
|
|
| MD5 |
4174c199acec1d446e949384e6fd71b3
|
|
| BLAKE2b-256 |
5109c4a9f4cab5d3b57f1b457a18effb49a4a8ad9c28a62730ce57c169ed7aa3
|
File details
Details for the file optree-0.19.1-cp39-cp39-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl
- Upload date:
- Size: 447.6 kB
- Tags: CPython 3.9, manylinux: glibc 2.26+ ppc64le, manylinux: glibc 2.28+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb6a6566b3656d28ba845ba1d00adabc53418020f6c469a2f1c30b46c8ce6020
|
|
| MD5 |
420f4b6f8d7033e1d12adf1064627328
|
|
| BLAKE2b-256 |
95a0c11b1d5f26ca202f582328bc4014d8c4aedb6307296a61222da94c9ac2c7
|
File details
Details for the file optree-0.19.1-cp39-cp39-manylinux_2_26_i686.manylinux_2_28_i686.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-manylinux_2_26_i686.manylinux_2_28_i686.whl
- Upload date:
- Size: 446.0 kB
- Tags: CPython 3.9, manylinux: glibc 2.26+ i686, manylinux: glibc 2.28+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
333a9eb982232184dfe65edff1b60f3423f89b3810b3bd4a02c82fa6c1eb319d
|
|
| MD5 |
a3cbc1d2dd560d5429505f535694fa5c
|
|
| BLAKE2b-256 |
ba8ea986cd1c343afd12f711738c1fdcfbd11a7abd5ebf75396d241714dfd54d
|
File details
Details for the file optree-0.19.1-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 390.4 kB
- Tags: CPython 3.9, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b8f9e0196c532b3be1504fb2c1f3ca39723026f2e9ffc65efd4dbf5da18cfc4
|
|
| MD5 |
e6903c5c30129c34349792f797a2c336
|
|
| BLAKE2b-256 |
d13b57efe92f0287b40694600c2d8ca250e7c4c9208a9cf4c5efbe3a81f54ba9
|
File details
Details for the file optree-0.19.1-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 370.1 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5d8ccf4f38327efef9e17b399a7d911482cb73f022815cf7f649aea5cef5e8f
|
|
| MD5 |
746042ac46462c927d5f01741086fff8
|
|
| BLAKE2b-256 |
8709215bba51fc76136c34fa34ceaf4e55bb31f597a29893abf2ecc2de4dcf12
|
File details
Details for the file optree-0.19.1-cp39-cp39-macosx_10_9_x86_64.whl.
File metadata
- Download URL: optree-0.19.1-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 398.6 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3aeadcbcd0904c463001e6e36c75743a25ec2b6e6f2d4c1389dfb8c7bdbec689
|
|
| MD5 |
2f44f9b0766473f92e02bb54c8d21b66
|
|
| BLAKE2b-256 |
fe93e85112b5cde5198e1dce0a048b8ae6afab126854a8bc6e2e9ae28847c8e9
|