Skip to main content

Twitter PyPI PyPI - Python Version Loc Comments

Docs Deploy Code Test Badge Creation Package Release codecov

GitHub Org's stars GitHub stars GitHub forks GitHub commit activity GitHub issues GitHub pulls Contributors GitHub license

TreeValue is a generalized tree-based data structure mainly developed by OpenDILab Contributors.

Almost all the operations can be supported in the form of trees in a convenient way to simplify the structure processing when the calculation is tree-based.

Outline

Overview

When we build a complex nested structure, we need to model it as a tree structure, and the native list and dict in Python are often used to solve this problem. However, it takes a lot of codes and some complex and non-intuitive calculation logic, which is not easy to modify and extend related code and data, and parallelization is impossible.

Therefore, we need a kind of more proper data container, named TreeValue. It is designed for solving the following problems:

  • Ease of Use: When the existing operations are applied to tree structures such as dict, they will become completely unrecognizable, with really low readability and maintainability.
  • Diversity of Data: In the tree structure operation, various abnormal conditions (structure mismatch, missing key-value, type mismatch, etc.) occur from time to time, and the code will be more complicated if it needs to be handled properly.
  • Scalability and Parallelization: When any multivariate operation is performed, the calculation logic needs to be redesigned under the native Python code implementation, and the processing will be more complicated and confusing, and the code quality is difficult to control.

Getting Started

Prerequisite

treevalue has been fully tested in the Linux, macOS and Windows environments and with multiple Python versions, and it works properly on all these platforms.

However, treevalue currently does not support PyPy, so just pay attention to this when using it.

Installation

You can simply install it with pip command line from the official PyPI site.

pip install treevalue

Or just from the source code on github

pip install git+https://github.com/opendilab/treevalue.git@main

For more information about installation, you can refer to the installation guide.

After this, you can check if the installation is processed properly with the following code

from treevalue import __version__
print('TreeValue version is', __version__)

Quick Usage

You can easily create a tree value object based on FastTreeValue.

from treevalue import FastTreeValue

if __name__ == '__main__':
    t = FastTreeValue({
        'a': 1,
        'b': 2.3,
        'x': {
            'c': 'str',
            'd': [1, 2, None],
            'e': b'bytes',
        }
    })
    print(t)

The result should be

<FastTreeValue 0x7f6c7df00160 keys: ['a', 'b', 'x']>
├── 'a' --> 1
├── 'b' --> 2.3
└── 'x' --> <FastTreeValue 0x7f6c81150860 keys: ['c', 'd', 'e']>
    ├── 'c' --> 'str'
    ├── 'd' --> [1, 2, None]
    └── 'e' --> b'bytes'

And t is structure should be like this

Not only a visible tree structure, but abundant operation supports is provided. You can just put objects (such as torch.Tensor, or any other types) here and just call their methods, like this

import torch

from treevalue import FastTreeValue

t = FastTreeValue({
    'a': torch.rand(2, 5),
    'x': {
        'c': torch.rand(3, 4),
    }
})

print(t)
# <FastTreeValue 0x7f8c069346a0>
# ├── a --> tensor([[0.3606, 0.2583, 0.3843, 0.8611, 0.5130],
# │                 [0.0717, 0.1370, 0.1724, 0.7627, 0.7871]])
# └── x --> <FastTreeValue 0x7f8ba6130f40>
#     └── c --> tensor([[0.2320, 0.6050, 0.6844, 0.3609],
#                       [0.0084, 0.0816, 0.8740, 0.3773],
#                       [0.6523, 0.4417, 0.6413, 0.8965]])

print(t.shape)  # property access
# <FastTreeValue 0x7f8c06934ac0>
# ├── a --> torch.Size([2, 5])
# └── x --> <FastTreeValue 0x7f8c069346d0>
#     └── c --> torch.Size([3, 4])
print(t.sin())  # method call
# <FastTreeValue 0x7f8c06934b80>
# ├── a --> tensor([[0.3528, 0.2555, 0.3749, 0.7586, 0.4908],
# │                 [0.0716, 0.1365, 0.1715, 0.6909, 0.7083]])
# └── x --> <FastTreeValue 0x7f8c06934b20>
#     └── c --> tensor([[0.2300, 0.5688, 0.6322, 0.3531],
#                       [0.0084, 0.0816, 0.7669, 0.3684],
#                       [0.6070, 0.4275, 0.5982, 0.7812]])
print(t.reshape((2, -1)))  # method with arguments
# <FastTreeValue 0x7f8c06934b80>
# ├── a --> tensor([[0.3606, 0.2583, 0.3843, 0.8611, 0.5130],
# │                 [0.0717, 0.1370, 0.1724, 0.7627, 0.7871]])
# └── x --> <FastTreeValue 0x7f8c06934b20>
#     └── c --> tensor([[0.2320, 0.6050, 0.6844, 0.3609, 0.0084, 0.0816],
#                       [0.8740, 0.3773, 0.6523, 0.4417, 0.6413, 0.8965]])
print(t[:, 1:-1])  # index operator
# <FastTreeValue 0x7f8ba5c8eca0>
# ├── a --> tensor([[0.2583, 0.3843, 0.8611],
# │                 [0.1370, 0.1724, 0.7627]])
# └── x --> <FastTreeValue 0x7f8ba5c8ebe0>
#     └── c --> tensor([[0.6050, 0.6844],
#                       [0.0816, 0.8740],
#                       [0.4417, 0.6413]])
print(1 + (t - 0.8) ** 2 * 1.5)  # math operators
# <FastTreeValue 0x7fdfa5836b80>
# ├── a --> tensor([[1.6076, 1.0048, 1.0541, 1.3524, 1.0015],
# │                 [1.0413, 1.8352, 1.2328, 1.7904, 1.0088]])
# └── x --> <FastTreeValue 0x7fdfa5836880>
#     └── c --> tensor([[1.1550, 1.0963, 1.3555, 1.2030],
#                       [1.0575, 1.4045, 1.0041, 1.0638],
#                       [1.0782, 1.0037, 1.5075, 1.0658]])

Tutorials

For more examples, explanations and further usages, take a look at:

External

We provide an official treevalue-based-wrapper for numpy and torch called DI-treetensor since the treevalue is often used with libraries like numpy and torch. It will actually be helpful while working with AI fields.

Speed Performance

Here is the speed performance of all the operations in FastTreeValue; the following table is the performance comparison result with dm-tree. (In DM-Tree, the unflatten operation is different from that in TreeValue, see: Comparison Between TreeValue and DM-Tree for more details.)

flatten flatten(with path) mapping mapping(with path)
treevalue --- 511 ns ± 6.92 ns 3.16 µs ± 42.8 ns 1.58 µs ± 30 ns
flatten flatten_with_path map_structure map_structure_with_path
dm-tree 830 ns ± 8.53 ns 11.9 µs ± 358 ns 13.3 µs ± 87.2 ns 62.9 µs ± 2.26 µs

The following 2 tables are the performance comparison result with jax pytree.

mapping mapping(with path) flatten unflatten flatten_values flatten_keys
treevalue 2.21 µs ± 32.2 ns 2.16 µs ± 123 ns 515 ns ± 7.53 ns 601 ns ± 5.99 ns 301 ns ± 12.9 ns 451 ns ± 17.3 ns
tree_map (Not Implemented) tree_flatten tree_unflatten tree_leaves tree_structure
jax pytree 4.67 µs ± 184 ns --- 1.29 µs ± 27.2 ns 742 ns ± 5.82 ns 1.29 µs ± 22 ns 1.27 µs ± 16.5 ns
flatten + all flatten + reduce flatten + reduce(with init) rise(given structure) rise(automatic structure)
treevalue 425 ns ± 9.33 ns 702 ns ± 5.93 ns 793 ns ± 13.4 ns 9.14 µs ± 129 ns 11.5 µs ± 182 ns
tree_all tree_reduce tree_reduce(with init) tree_transpose (Not Implemented)
jax pytree 1.47 µs ± 37 ns 1.88 µs ± 27.2 ns 1.91 µs ± 47.4 ns 10 µs ± 117 ns ---

This is the comparison between dm-tree, jax-libtree and us, with flatten and mapping operations (lower value means less time cost and runs faster)

Time cost of flatten operation

Time cost of mapping operation

The following table is the performance comparison result with tianshou Batch.

get set init deepcopy stack cat split
treevalue 51.6 ns ± 0.609 ns 64.4 ns ± 0.564 ns 750 ns ± 14.2 ns 88.9 µs ± 887 ns 50.2 µs ± 771 ns 40.3 µs ± 1.08 µs 62 µs ± 1.2 µs
tianshou Batch 43.2 ns ± 0.698 ns 396 ns ± 8.99 ns 11.1 µs ± 277 ns 89 µs ± 1.42 µs 119 µs ± 1.1 µs 194 µs ± 1.81 µs 653 µs ± 17.8 µs

And this is the comparison between Tianshou Batch and us, with cat , stack and split operations (lower value means less time cost and runs faster)

Time cost of cat operation

Time cost of stack operation

Time cost of split operation

Test benchmark code can be found here:

Change Log

Version History [click to expand]
  • 2022-05-03 1.3.1: Change definition of getitem, setitem and delitem; add pop method for TreeValue class.
  • 2022-03-15 1.3.0: Add getitem, setitem and delitem for adding, editing and removing items in TreeValue class.
  • 2022-02-22 1.2.2: Optimize union function; add walk utility method.
  • 2022-01-26 1.2.1: Update tree printing; add keys, values, items on TreeValue; add comparision to facebook nest library.
  • 2022-01-04 1.2.0: Add flatten_values and flatten_keys; fix problem in mapping function; add support for potc.
  • 2021-12-03 1.1.0: Add version information; fix bug of default value; add flatten and unflatten; optimization speed performance.
  • 2021-10-24 1.0.0: Greatly optimize the speed performance using cython, overhead has been reduced to a negligible level.

Feedback and Contribute

Welcome to OpenDILab community - treevalue!

If you meet some problem or have some brilliant ideas, you can file an issue.

Scan the QR code and add us on Wechat:

Or just contact us with slack or email (opendilab.contact@gmail.com).

Please check Contributing Guidances.

Thanks to the following contributors!

Citation

@misc{treevalue,
    title={{TreeValue} - Tree-Structure Computing Solution},
    author={TreeValue Contributors},
    publisher = {GitHub},
    howpublished = {\url{https://github.com/opendilab/treevalue}},
    year={2021},
}

License

treevalue released under the Apache 2.0 license. See the LICENSE file for details.

Metadata

Release files for treevalue 1.5.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 treevalue 1.5.0
File Size Uploaded
treevalue-1.5.0.tar.gz 74.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for treevalue 1.5.0
File
treevalue-1.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
treevalue-1.5.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
treevalue-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
treevalue-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
treevalue-1.5.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
treevalue-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
treevalue-1.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
treevalue-1.5.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
treevalue-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
treevalue-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
treevalue-1.5.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
treevalue-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
treevalue-1.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
treevalue-1.5.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
treevalue-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
treevalue-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
treevalue-1.5.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
treevalue-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
treevalue-1.5.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
treevalue-1.5.0-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
treevalue-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
treevalue-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
treevalue-1.5.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
treevalue-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
treevalue-1.5.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
treevalue-1.5.0-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
treevalue-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
treevalue-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARM64 Details
treevalue-1.5.0-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
treevalue-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details

Total release size: 61.7 MB

Release files / treevalue-1.5.0.tar.gz

Download URL treevalue-1.5.0.tar.gz
Size 74.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ec76d362fa099c38b4a6c1fe2beb42f25d28e2809dc4f327517d2199b198433b
BLAKE2b-256 checksum
How to use checksums
a129cb3c391509e388923ff840b081b67c7fab64e414d35a81e80e020209c885
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp312-cp312-win_amd64.whl

Download URL treevalue-1.5.0-cp312-cp312-win_amd64.whl
Size 712.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
97067eb0211d15b0e93f0400686e3694b7dd5ea82efa8a9f5bc990f3f014e056
BLAKE2b-256 checksum
How to use checksums
a5e0d76cd236fd84ead3201eeb8668f3c13e88a17f17c2262399f34b2bef5ac4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp312-cp312-win32.whl

Download URL treevalue-1.5.0-cp312-cp312-win32.whl
Size 624.8 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
4db2b0c71271ccb7780c1391aca67f31c5faac7fa128467a17ed3370b804e7d5
BLAKE2b-256 checksum
How to use checksums
aa4382b1dd8b3dca5d9f74d401d809e6bc90bbeac295d720170dde7be6bcf414
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL treevalue-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.9 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a8d110e014828afcd72148d25979214716af4b557daf4767b4df0bab916e6f39
BLAKE2b-256 checksum
How to use checksums
3dc7e199dfa100d2689b442fd3050f6d096c9dcb54407ceb3e7bc2394fd05509
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL treevalue-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 4.8 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
237773d66f51e648ea46625b8f1e4c5fb1c21477317696d54f5312ef345f8d21
BLAKE2b-256 checksum
How to use checksums
8b3fb3b28eb3d1f63f986c4e140d008104797f8c459169368e692d3161488f47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL treevalue-1.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 803.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cc921d620c75522b228a93ecd10a6773db866a1712f772b9596165af5263fc93
BLAKE2b-256 checksum
How to use checksums
5e20129776db8feff45de1c0d7322611244f8b188660a0cfac178154767407f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL treevalue-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 841.6 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
dc419643f0c948aa1bc4790d5ae0b9e02ef97cc20ddaac6dc61ecebc3f0d713b
BLAKE2b-256 checksum
How to use checksums
9ea706b51978ddd2220c2522dc8964d5120e0bd1303b8d4ad19586528da7f1f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp311-cp311-win_amd64.whl

Download URL treevalue-1.5.0-cp311-cp311-win_amd64.whl
Size 713.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
258da9fac46ca23ced416a50347455cba5cd017b7af0efd8da175a63ec707c54
BLAKE2b-256 checksum
How to use checksums
28c122c9f82777d5f6ddf43f19fbb85ba5815916aef7ceeca8f68be6bfd7ed60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp311-cp311-win32.whl

Download URL treevalue-1.5.0-cp311-cp311-win32.whl
Size 623.8 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
79079d407cee1dc1150ff0d8cb25f72d36280474d57dd0171b5136e114ed6f9c
BLAKE2b-256 checksum
How to use checksums
32569b65cb6aee449337c80e6593476a1685980ef521ad69d28de535b00b9bf4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL treevalue-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.9 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
51738155068b6277ca8256a2b01eeb197fe57ab6cf161bd3be85b54c5a7f2a39
BLAKE2b-256 checksum
How to use checksums
7f5967a7949e1acf6627e8c9abe2c3f2a28f48c8dafccd019fdc1c7ff4318da7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL treevalue-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 4.9 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
49331edefd1ea9e4ee523cd2bc6155003eae2c955a3978114e567ce8720196dd
BLAKE2b-256 checksum
How to use checksums
31affdab1f088c148a2da124a2a99b538b07347a3c70d87e391a9489693c00d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL treevalue-1.5.0-cp311-cp311-macosx_11_0_arm64.whl
Size 804.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
da560b5642acc1833cd8ad2a428471214004b529f72bdc4814f10e1936f299ba
BLAKE2b-256 checksum
How to use checksums
d461af4ef8d20c20f078be146927198c32dafad0959869ef2fc6bde43df112fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL treevalue-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 845.9 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c5cbee67fb9d142d629f3cba43e6e3dfc91112ffa246fa0196f02271862dd697
BLAKE2b-256 checksum
How to use checksums
e3cb65b271bfeb85e7ad084266df4448881ebbc7a52bef13d37bc1e308a76ad5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp310-cp310-win_amd64.whl

Download URL treevalue-1.5.0-cp310-cp310-win_amd64.whl
Size 711.1 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
510b028f5f4d039b97bf4c209723affbe8714d2c366255cc8e12f327b08815c7
BLAKE2b-256 checksum
How to use checksums
42a3c0eb148c48f32bcab76f1996fdc38a22a613066fceed40a314dd38b891f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp310-cp310-win32.whl

Download URL treevalue-1.5.0-cp310-cp310-win32.whl
Size 624.3 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
accf90c2737d8bdbce47df3fcf87f856b67699fb21a53060d78a3bbec6c5b631
BLAKE2b-256 checksum
How to use checksums
bfa8739979a5bc160d981982b067454a5c040d8529f3888c420977648eaa6c8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL treevalue-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d01d07e87407262363b74285e7b9da48663c3e927cf2817b4c2fc021a38b73c4
BLAKE2b-256 checksum
How to use checksums
4fa168ab4f69936052e9ab7a83df7ba56ee817f5bc459742885a5bb6e9664580
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL treevalue-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 4.5 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
035f1163407a0ae8f9c2aa78c16b2e8c902d3b0026f6db99e619bf5f1dae9329
BLAKE2b-256 checksum
How to use checksums
f69910b70572338c7269168a23d690b8977d0a683332fdc1d7c1525131fc1b0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL treevalue-1.5.0-cp310-cp310-macosx_11_0_arm64.whl
Size 802.5 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
171343ab1be7de9c20d31b2eaaf48b5358763f30f7aa6dabe2efac4c9f40afcf
BLAKE2b-256 checksum
How to use checksums
2e1f912b7ef380d8034b9ff731c9802cdf9735495fcf7650a9cfc2d85ceeb82b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL treevalue-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 842.6 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c7c8f5c4e769327f35cfa19c60f0573fe2bf7532c43ae4ce281564535afdfe86
BLAKE2b-256 checksum
How to use checksums
07a4ce2beec2dd357ca3ef3ca23ba1a8721d5ebfff16ec998bb17688c23eacbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp39-cp39-win_amd64.whl

Download URL treevalue-1.5.0-cp39-cp39-win_amd64.whl
Size 716.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
8ac5caedccbc7978c57ced122fff1f0c51f8ebc33a6fa0b15e853437070a8539
BLAKE2b-256 checksum
How to use checksums
3a517d2239c0433412b73e11db14d8e5ece30168cdb630af1e3195beafbdcb39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp39-cp39-win32.whl

Download URL treevalue-1.5.0-cp39-cp39-win32.whl
Size 629.5 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
81569dc66a6deb8223b33866a2aecd92ae5c48b65983009ccc2d0bec04317a73
BLAKE2b-256 checksum
How to use checksums
5d4e5528873168ae86cec4cff0df7249e3789068335ce1e8d725b3227d9a4947
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL treevalue-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.5 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
369a725709a3970900262f16e2a8df56411a21f39f4231f7ccd4aa7fb8b46791
BLAKE2b-256 checksum
How to use checksums
ecb1309d5d020c8471590c14c0f48748d12fe70737ec19411061610f31dbcdfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL treevalue-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 4.5 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
400e58400aacd03067d9f194b9afc6ad066a47fd189d19e8e6136d5afa780763
BLAKE2b-256 checksum
How to use checksums
a5320fbbbf881ae1759d6bcaa5e6f077312f4cf151010f44559ed31ad22280a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL treevalue-1.5.0-cp39-cp39-macosx_11_0_arm64.whl
Size 809.1 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5a70c7b248fe1cd0f9859aacde521dc7b842260317696599c8bd4c9511d4e10f
BLAKE2b-256 checksum
How to use checksums
81226a82e032a1c6cda3dcedf2943f653a4f8ad2882ae577cf3d6c8400c53ec9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL treevalue-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 849.1 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
380e5b8ff2a5e41b6245be2eecf23c8c99ddd35654e599bb8668e8b816791270
BLAKE2b-256 checksum
How to use checksums
d0367654dd7156076ec190d30f39d0e0eab3a3226d3256a09ebe371545d94350
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp38-cp38-win_amd64.whl

Download URL treevalue-1.5.0-cp38-cp38-win_amd64.whl
Size 720.0 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
d1f4b77abf4cd7edffd560cf8999850c331a9b2a291d2ee25160964b775cc753
BLAKE2b-256 checksum
How to use checksums
5f110eb83efd98fb5623652ed0336de4ece95a1eda16e9544a6886a83699a9d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp38-cp38-win32.whl

Download URL treevalue-1.5.0-cp38-cp38-win32.whl
Size 630.9 kB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
c88282cd95dfc5e27ac606b22fa26248faa9452bcc09fe7f6a496e133b978fba
BLAKE2b-256 checksum
How to use checksums
aa5ee0cb0ec34044e302761d1b6138d92f40f2f7662d0a816ff3131ee1f445bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL treevalue-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.6 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
85af5ee9c49812e0f760574c442af74c65226c96a962e80ac0d4c9674950f9f1
BLAKE2b-256 checksum
How to use checksums
5a11bf61f3084ce6bea0d1e73b038c21f20a33eb813bd60b6b135290d4b51d37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL treevalue-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 4.6 MB
Tags CPython 3.8 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
cdabf88505b7b3573eb08dad37603d5418f3f4083d93db18d9652d390aedfbb0
BLAKE2b-256 checksum
How to use checksums
2d8edf1725ed9fa1d895206332c71420004a9618e4eccc20703adc2b3bedcca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp38-cp38-macosx_11_0_arm64.whl

Download URL treevalue-1.5.0-cp38-cp38-macosx_11_0_arm64.whl
Size 812.7 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bb4600eb2da620ab7a0bb69f0ff1e647631323308ce5b1227b95487d8b9409c7
BLAKE2b-256 checksum
How to use checksums
e0c993a3d0231cef351b9bc52dd974a1e2911f5144e5dab9dea40bead8d5a131
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / treevalue-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl

Download URL treevalue-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl
Size 852.1 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f250bacc27d63be13190720fe236f87f87496f2a41f7f50485a1d8b2c092926b
BLAKE2b-256 checksum
How to use checksums
c8c6bb8ca6e5ae7afb1f3fab7ebf4772d95ffec2644c36e273887706729f2e49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release history Release notifications | RSS feed

This release

1.5.0 This release

31 release files

1.4.8

1 release file

1.4.7

30 release files

1.4.6

30 release files

1.4.5

30 release files

1.4.4

30 release files

1.4.3

24 release files

1.4.2

24 release files

1.4.1

29 release files

1.4.0

29 release files

1.3.1

5 release files

1.3.0

5 release files

1.2.2

5 release files

1.2.1

5 release files

1.2.0

5 release files

1.1.0

5 release files

1.0.0

5 release files

0.1.0

2 release files

0.0.1

2 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