Skip to main content

C++ Implementation of a Burkhard-Keller Tree (BK-Tree)

Project description

C++ BK-Tree

PyPI version Downloads License Build Status

This module provides a BK-Tree class written in C++ to hopefully better speed than pure-python solutions.

Installation

You can simply install it from PyPI:

pip install cppbktree

From Source

python3 -m build . &&
python3 -m pip install dist/cppbktree-*.whl

Usage

from cppbktree import BKTree

tree = BKTree( [ bytes( [ x ] ) for x in [0, 4, 5, 14] ] )
tree.add( bytes( [ 15 ] ) )
print( tree.find( 13, 1 ) )

Because of the Python/C++ interface, currently this BK-Tree is limited to only hamming distances of bytearrays. Pull requests are welcome.

Benchmarks

The benchmark consists of inserting a varying amount of random 64-bit elements into the tree and then querying a value at varying distances. This is done five times to get a hint for the standard deviation as is plotted with error bars.

Comparison pybktree vs. cppbktree 0.1.0 with 32 K element chunking for 64-bit elements

Comparison pybktree cppbktree chunked

This is a benchmark for the specialized BKTree64, which operates on 64-bit values. Doing the same with BKTree and byte vectors of size 8 to represent 64-bit values is roughly 4x slower because of additional allocations and because of pointer-chasing slowing down the linear lookup. A more intricate version could simply concatenate the element vectors into one consecutive memory chunk to avoid these performance issues.

Operation pybktree / s cppbktree (8K chunks) / s Speedup
Tree creation time 88.53 1.57 56
Distance threshold 0 2.42e-04 1.81e-05 13
Distance threshold 1 7.49e-04 1.11e-04 6.7
Distance threshold 2 8.55e-03 4.46e-04 19
Distance threshold 4 2.21e-01 3.35e-03 66
Distance threshold 8 4.22e+00 1.55e-02 272
Distance threshold 16 1.15e+01 3.00e-02 383

Scaling Analysis

Comparison pybktree cppbktree

In this log-log plot, it can be seen that the lookups and creations follow various sublinear power laws. Inserting one element in a tree of depth $d$ should roughly take O(log(d)) hamming distance evaluations. Assuming an evenly distributed tree, the number of elements is given as N=d^n where n is the maximum distance the metric returns. For the hamming distance, n is the number of bits of the hash. Solving this for the depth, gives d=log N / log n. If you are only interested in the dependence to N, then log n can be seen as a small constant factor. Henceforth, the tree creation should follow O(\sum_i^N \log i) = O( log( \product_i^N i ) ) = O(log(N!)). Using the Stirling's approximation for the faculty, we get O(log(sqrt(N) N^N)) = O(log(N^(N+1/2))) = O(N log(N)). However, log(N) is a very slow growing function, so the tree creation looks almost a linear function.

Both, pybktree and cppbktree, have some jumps at roughly 1e4 elements but only cppbktree as a second jump at ~2e6 elements but only when looking up elements with distance <= 16. I can't explain these jumps. They almost look like memory caching effects. Because of these jumps, the effective speedups for 10M elements varies quite a lot depending on the lookup distance. Only the tree creation scaling is a very smooth curve except for some outliers for smaller runtimes.

Here are the fitted power laws to the curves from the plot:

operation pybktree cppbktree
Tree creation 1.12e-06 N^1.12 4.92e-07 N^1.05
Distance threshold 0 2.04e-06 N^0.27 4.19e-07 N^0.27
Distance threshold 1 2.06e-06 N^0.37 2.77e-07 N^0.38
Distance threshold 2 1.68e-06 N^0.51 1.76e-07 N^0.54
Distance threshold 4 1.36e-06 N^0.73 1.11e-07 N^0.74
Distance threshold 8 1.10e-06 N^0.92 7.47e-08 N^0.94
Distance threshold 16 1.05e-06 N^0.99 4.93e-08 N^1.05

And here are the timings and speedups for operations on a tree with 10 million 64-bit elements:

Operation pybktree / s cppbktree / s Speedup
Tree creation time 88.53 19.35 4.6
Distance threshold 0 2.42e-04 2.38e-05 10.2
Distance threshold 1 7.49e-04 1.55e-04 4.8
Distance threshold 2 8.55e-03 1.61e-03 5.3
Distance threshold 4 2.21e-01 3.73e-02 5.9
Distance threshold 8 4.22 0.60 7.1
Distance threshold 16 11.5 6.93 1.7

The speedups of cppbktree over pybktree vary between ~2 and 10. For smaller trees, the speedups would be even better. Only the tree creation time speedup is quite independent of the tree size at roughly 5.

Comparison pybktree vs. vptree

Comparison pybktree cppbktree

At least in this benchmark with only 64-bit hashes and a hamming distance as metric and at least with this pure python implementation of a VP-Tree, the results are quite disappointing. The vptree module is almost always slower. The lookups are actually quite similar to pybktree (meaning still slower than lookups with cppbktree) but the tree creation is a full magnitude slower. For the 100k elements, this results in pybktree being 7.7 times faster than vptree.

Comparison linear lookup vs. cppbktree

Comparison pybktree cppbktree

This log-log comparison plot shows that a simple linear lookup can compete with a BK tree. For exact and almost exact lookups, the BK tree can become faster but even for a distance of 2, it requires more than 1 M elements of size 8 B to amortize. For lookups with even larger distance, the simple linear lookup dominates for the whole tested range up to 80 MB of data!

The advantage of the linear lookup is better streaming behavior and less branching making it run faster on modern CPUs. For batched lookup, the advantage might be even larger because whole batches can be looked up while the chunks of the haystack is still in CPU caches. A mixture a BK tree and linear lookup, e.g., a BK tree with nodes with 1-10k elements, might be better over the whole range of test configurations.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cppbktree-0.1.0.tar.gz (88.1 kB view details)

Uploaded Source

Built Distributions

cppbktree-0.1.0-pp310-pypy310_pp73-win_amd64.whl (53.6 kB view details)

Uploaded PyPy Windows x86-64

cppbktree-0.1.0-pp310-pypy310_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (70.1 kB view details)

Uploaded PyPy manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (93.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (99.0 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

cppbktree-0.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (59.1 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

cppbktree-0.1.0-pp39-pypy39_pp73-win_amd64.whl (53.5 kB view details)

Uploaded PyPy Windows x86-64

cppbktree-0.1.0-pp39-pypy39_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (69.9 kB view details)

Uploaded PyPy manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (93.4 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (98.9 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

cppbktree-0.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (59.0 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

cppbktree-0.1.0-pp38-pypy38_pp73-win_amd64.whl (53.1 kB view details)

Uploaded PyPy Windows x86-64

cppbktree-0.1.0-pp38-pypy38_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (68.9 kB view details)

Uploaded PyPy manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (92.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (97.6 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

cppbktree-0.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (58.3 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

cppbktree-0.1.0-pp37-pypy37_pp73-win_amd64.whl (53.1 kB view details)

Uploaded PyPy Windows x86-64

cppbktree-0.1.0-pp37-pypy37_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (69.2 kB view details)

Uploaded PyPy manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (93.3 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (98.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

cppbktree-0.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (58.2 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

cppbktree-0.1.0-cp311-cp311-win_amd64.whl (57.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

cppbktree-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

cppbktree-0.1.0-cp311-cp311-musllinux_1_1_i686.whl (1.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

cppbktree-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (574.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (614.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

cppbktree-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl (66.4 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

cppbktree-0.1.0-cp310-cp310-win_amd64.whl (56.8 kB view details)

Uploaded CPython 3.10 Windows x86-64

cppbktree-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

cppbktree-0.1.0-cp310-cp310-musllinux_1_1_i686.whl (1.2 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

cppbktree-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (553.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (598.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (593.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

cppbktree-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl (65.8 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

cppbktree-0.1.0-cp39-cp39-win_amd64.whl (57.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

cppbktree-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

cppbktree-0.1.0-cp39-cp39-musllinux_1_1_i686.whl (1.2 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

cppbktree-0.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (557.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (600.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (596.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

cppbktree-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl (66.4 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

cppbktree-0.1.0-cp38-cp38-win_amd64.whl (57.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

cppbktree-0.1.0-cp38-cp38-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

cppbktree-0.1.0-cp38-cp38-musllinux_1_1_i686.whl (1.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

cppbktree-0.1.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (568.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (600.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (597.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

cppbktree-0.1.0-cp38-cp38-macosx_10_9_x86_64.whl (67.0 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

cppbktree-0.1.0-cp37-cp37m-win_amd64.whl (57.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

cppbktree-0.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

cppbktree-0.1.0-cp37-cp37m-musllinux_1_1_i686.whl (1.2 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

cppbktree-0.1.0-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (558.9 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (592.8 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (588.5 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

cppbktree-0.1.0-cp37-cp37m-macosx_10_9_x86_64.whl (66.7 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

cppbktree-0.1.0-cp36-cp36m-win_amd64.whl (56.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

cppbktree-0.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

cppbktree-0.1.0-cp36-cp36m-musllinux_1_1_i686.whl (1.2 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

cppbktree-0.1.0-cp36-cp36m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (553.7 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cppbktree-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (579.7 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

cppbktree-0.1.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (576.6 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

cppbktree-0.1.0-cp36-cp36m-macosx_10_9_x86_64.whl (65.3 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file cppbktree-0.1.0.tar.gz.

File metadata

  • Download URL: cppbktree-0.1.0.tar.gz
  • Upload date:
  • Size: 88.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for cppbktree-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e88addff2fe44e3194e2408e6beb008598a762d996de3b3e353d624ab0792c0c
MD5 ae662446206dec471d344ce6b300f1a3
BLAKE2b-256 6dda51e7fa602df761c6cd0cc991d90d3ac41ae12f8996d58f89e5b49c13366d

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 c8944ce9a994b2355f3a455b5ac81109a9d25c77cc837e8e26171078404f6959
MD5 fa504d99c4fad544473fa9e67d8f164b
BLAKE2b-256 7b6a0a7577359cbf5ccfd063e9ebed0fb131afae00d8175274bd6c11de2a62ac

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp310-pypy310_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp310-pypy310_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f45eaca1e18a71e5b7c96fedb0ba1aa308503309538710a10e7a648ac7039ecc
MD5 44d8420597addd14edbc7172234e03d2
BLAKE2b-256 f2f9d1dd5c5ca6b85d0f0c8b4802e8071b3dd5240fcd72735181574d7007b608

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99649916d33df4d19896b060715d61f384f19b833e7995237233b4488a0d9f6f
MD5 deba2532a122341383328fddf2a5140d
BLAKE2b-256 e2f417c63fedd5645a03be669f2f5a7145f03c52c97c888a928ab175c74d9d56

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d3d22b788d8bb3e3296e7fb59144e2ccacc6803be2886ecd9db3221db902a904
MD5 ab33a62a3d906c7f477c0199ae7c8a2c
BLAKE2b-256 b4b4dbc09b9e8677792bf176acfea04fab2ca7c4c4595d6e0a48c0204550c1d2

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 af333b85755a97e01250da6a072e95994cab5e414e2059e577cbeb0bc9df8f08
MD5 8df061c48c25f39e9b1aa21d3c46e426
BLAKE2b-256 e60b49e53ea8cef6039065daadb03b4fe96bee3d0991b204a3ec4f40cac58e29

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 a02f1882eabce200c938f5a35128826351845ce80de5d471673dba3e7143cc81
MD5 02cf56d80c4c8ea82397677de96ff0c4
BLAKE2b-256 74f369ac5c04aa79ef0951b70f886e2b1cfb2d0cc236797ecdc31b71ee86ab67

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp39-pypy39_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp39-pypy39_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6b6f7e0091f32aa869c81bbc0f1e969965fd3f4a3cab2e1afb51110ede41b801
MD5 de1c0a2991856c304e14bb3386d29d0f
BLAKE2b-256 1346954fdfd94bdd7ee5a9793249cd33af893eeef31b79f6624273d8c953db0d

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c4b611c1e7c090f6c6aa3c5fa116f6d07d9b4c5750c946a12fc91147c6909b4
MD5 d73d287a415850d6e90166265a2537b6
BLAKE2b-256 caa901af0e24faa8173b470699ae16c51717452549591a55071dd30e85b25c4a

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e3a2f8e51c24cc309bffe469058ac914f6a79063a22364d63e45db7198db683b
MD5 56a98f452672b289caccea87cd0f8639
BLAKE2b-256 e558e19b464f6e8a88c7da3c4571051c59eef55fc1fee28844545cf7b1ecdbe3

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e7eebb077e3c4f37078386828e432f14099595f1839844f23c30db753391569c
MD5 b2a075270672b8ed10e750bbb11c7196
BLAKE2b-256 db7b45425d0a00329a67ffd0566a5933568796e967df8e030ac3530f7feb9f28

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d73975873c6339c83beccfe013f6354ba959ba1403aa51ef91eee20549a60921
MD5 7b1d9b0bb41ade158330d885eb7d0966
BLAKE2b-256 89c6c506617dc7e9419f2d3383ce26266c0006643840447b9862f65a0593f182

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp38-pypy38_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp38-pypy38_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f0ab093e57d526ea627cb445c8bca4f9da30ae63a3b227828b4d845a88befae
MD5 12cecdfab878af6cb590c97df4a70f7f
BLAKE2b-256 4ce0e2dd047a8b197c4ede06ca10791e7ae77cf2f1e20a5a0782bb93e0aeb1be

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0015ccaa147a5d38ae4356501f89fbffa7ae66996273de0ecb513fcd6e2f4e0
MD5 bcf11c0c3899147983fcd79f2475f5e9
BLAKE2b-256 1d020e9174ad96b17dc26bc035edd1f4ec367fe305b2edee4778550f3c0f4702

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 05181ce10d36d46f70b2b6f1050264c56f9876f2865c2cf4e704f438dcab29b4
MD5 d315ad3cf1f1bb62a0c50d36d5c8dc22
BLAKE2b-256 cdeaced58e4671d0be10cd0c7b16c578862282f3521442f3d08fe0bbe57a7011

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b32cccbf76536e0e7825c0b42e4f3a8581c169c916f0083ef967b59da8a1a610
MD5 6168a40838aaaefce2e7647d8b9e005d
BLAKE2b-256 759c4a2caf0c4e14a677af51f3183553e0693a21eccd01576270b7420ef3e94d

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 a4989171af7427e4e26f7df4c4f08523acf9c204c570b8e83fffcc97f6e51fd9
MD5 40058cdaf143e8b64b6e1dce092ea9bb
BLAKE2b-256 fffef06d4d1eaffebc9c98ad7e18ca06f617ad0e7c500d057696650c464f019e

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp37-pypy37_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp37-pypy37_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 27de4b37150f797de24dabe134d8378c599df04e154c463cf2e498a18bf02734
MD5 ee8a42ee4219144c5e30a6e0b252cf4e
BLAKE2b-256 e874918288df1a1714ab4e74b9ffe6c5d3782ec4df0e8474f3d72e9b61c11657

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa306db3213669a71a2397121c8e050a2d00f34722aa45cb4f5779550def9433
MD5 8155683ee49e5ffcee5b462526def6e8
BLAKE2b-256 791b5b889899a167e691b6c2a77f291ceb0daca9e237d83086a545d2195c37d3

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8c475c97c0d663c75c175ccf5ea1d7227322e9363c766f6c308405fb5b9460f6
MD5 aca0c42a848987c3bf14ea27c7410f82
BLAKE2b-256 814bd20af572b24609f1848c5835a3027669bd87f354ebe3e9f049202d9d4313

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 22df402796f6c1f9ec6a3da754da7a83f3babd47a135c10b9b03461afc5b14f4
MD5 e7d58b959f4dd139d30cac350aa0d57d
BLAKE2b-256 1a16a8cc1cffca1eda54a29d589d0b293fbeb52fe0f0f0654aa35fe6ef32319a

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0b6652617b8adc27fa28ca517e3654fd068a91d33cb81de63b8ddcb0f18ec2a7
MD5 54cfa6adbcf289dbc544ab9a9e21d3ed
BLAKE2b-256 d278f5b4f0d7bee3e2435e23cdef0bf0a4ed4ac4083df41ab34b3099919bf04e

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5a25c44054f22e8c2748025c93eea9aba79b677395bc48113a6e7bbec1ee3f92
MD5 b8f616293fc8fd51f26f3c621b3efed4
BLAKE2b-256 a79d1eb8cbb2481c6bceac28aa18b53552ade3d12901ee31b697bdf2f0d4e473

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 c4915c929612bff414bfd3f65555afcacbc84eab9517941d377dd2b1bc3606e3
MD5 18595d8c1c2b9db03612d94e54cda13f
BLAKE2b-256 30ef2e329c4f0bc765b33cf7fa2770887b33e3a89a41c9e3ff640635d52bad69

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79cbc57d111f065a88eb051dd4ca7d30e52765831ca36a8b0e016de23947005e
MD5 1b63d47edf6e13f31163331ad1271f53
BLAKE2b-256 3535e37511d901c8c0f116dba7c966a7f81a73457016bd671cd6644e866fc3e2

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6476b6296f636252ade8b5967fd475c427c6fb0af626a8f4d6100ea24cc58730
MD5 0a151e7f1ef6b4350603c7c80d627330
BLAKE2b-256 888997131a121092b7842f68e55674247b5d083c6e19129b5572b6a1b4baeab2

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7ac7679b91008cdcb95f6d0b6a9649ab4ab5ccc95c21e7221d5f8d158bd6ce0d
MD5 de2cccd23272039addf040a76ef48c20
BLAKE2b-256 3648cb1cfb20cd776213416bc6a8f9be7f68baf3d29e31dcc2bfcdf9b2b5397b

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 de9553ae6738b7eca4fde68f54887d234d3de50bcc4ebe3ce0574cc256472004
MD5 4407152fd3dc8a9b2d56684e6c9a890b
BLAKE2b-256 a5092a36ffc32894eb7e3376bd2c48019d7b7b3620a3db8d1c89d881985ad1a7

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e9bbda491d168108f2de35e6c4c1919e9904ce4f581341d66f19bf3f8fb4e7e1
MD5 0766791c3aa57affa30875f9e427ddb8
BLAKE2b-256 af4c57534b5fef3d7bfecd42cf0c6965184cea442672f1c9ef349b67353d4f1f

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6b633ea6b274e272c01c3309bb04c2cc444a91dc2790b066f689981dd9d829fb
MD5 982a6bc6238060eaa634587bdb2ba457
BLAKE2b-256 5afa9e13b2f7a8eaba01f40195e6a81e977b304145af6ef9425c1ae7df03f0bd

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 22ab6184abc69abb9ac57cb7942b36d15f5fcb5c1b41e87867815ea928b49b40
MD5 b72dd4d7779ffc8c49b185d032766a1f
BLAKE2b-256 d2bdb812665d2373ae29e74a9dca768a58cd1b19b44a845ac9f7331de1467fec

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 59be7b461e2828ab5aa6a2b7be055cb53cd4d4c3f277ae9a2edc30cbacb503fb
MD5 e6ec036f053f76e48e914005514d6b61
BLAKE2b-256 59674a1829d37a2074f20df8a066ea3dd13bf90ac39078a29350bd5b5551d639

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 930bdf60663a266dd177d1fcb5d406e2d41ebdfb1eb6051c935b99b2acc29b0d
MD5 cd98a8be3cb74f02fc48f1d0bedec519
BLAKE2b-256 ebce157fc8a5d10b5aca6e2138b8e78876ec4f6aa2d4914e44ffa8f42ada35dd

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5ab92ab0772689cca77420616ca69d81000736dec0698d04720fb1861e6538fd
MD5 dabac209ff1421cf76371da514bd6eeb
BLAKE2b-256 2cdcf412cf189b9f6fb65e575af713e31fd257f1b46a2bc06b0c536f15c73a22

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9abfda8944c614d75d999c9fcab71b5e19aa8dd314405f8ab41ea2e955540afb
MD5 6023c72eacf80af46dd8fb83656aaf01
BLAKE2b-256 06046bf05a0331eb3dbd78987e098120fdcbc8c177f94fb59ab1b5149ecd835f

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: cppbktree-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 57.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for cppbktree-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6913557e70d5418ec14aca724cc409a2713822bab6b6c6cb82d28ff2991f64b5
MD5 19d609ce48682f58e80be5dc3324640b
BLAKE2b-256 fc4fa9e8fc8e15c76dfdb68e6a9ddac3eafebdfc4229f7011d543184f872cb04

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 85952175ac93eec38107388d143a06c09513b2488c577ef1483700ea39f70c7a
MD5 dbd9c06ea1f66f742d00a7966f01568a
BLAKE2b-256 f3f6aedceac2b1e96fe6997b364caa5dd5007f5e100aedf00355adfa909e9fa6

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 24d06caa27229b01741486d83d4a72c5d0c2dea8d05a07e79e4a9de37962e0fd
MD5 af64d6df542f2e7539ec86fe13600be9
BLAKE2b-256 c53bd20d5af0c89cdf48a3b2fde321ed40650362b83cefbdb2af322da44dfda8

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3268b460c4bd21c55acf1de973de78fe4b60211f197d079c810033f76c4dc34f
MD5 ce6de6b2fdde331e4fb374c063eec999
BLAKE2b-256 dc8373850f7a19db2a3c2848cb47b163cf1d37c0ef6a266cc4f67b6b0532641e

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9eed10b9bf6a0ae908d1adc97884a30e55107fc0ff457b7c367585c22725d1dc
MD5 92422dfbfea4122d6fad72ed6d6f9ba7
BLAKE2b-256 0fc282fb8f6739c714e1ccf7363848d0323ea1150bcc929a50e737559507ad97

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 65352409eef2e4520bcfefd14bf6688ff4467ec89023c158d3b86b3a8e220fcd
MD5 d12db773cfae549dfbd7872eaabd41aa
BLAKE2b-256 8d47976aabcad71fe1f4d43244ec00935fdc8fc457751ad7839249c1340afdc0

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d3ddb87fa8737a80f385b7c76d8d39f9ac104ca7c944041bb3d60797ad96ca95
MD5 1fe91d0961c5888318c8881983a3a0e4
BLAKE2b-256 6c82ac37343150315149e9f90244e9ff9f92aa29bf19fe3a681af2a687265735

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: cppbktree-0.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 57.4 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for cppbktree-0.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 61e973fd0f465d3e59d98b1a80c9308fd4951fba47e15471bf06ce3b4adc7bc7
MD5 a6b96631e0dcba8aaf26aba31e256bc2
BLAKE2b-256 6c4fd4b69b5747f76bcf3d755db469122cc91c6551b61341e66f632dc724db87

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e91ce4b6a6b71e679fc2eeff70254a071d30d36feadf2ec516a535e0e82501bd
MD5 6a3e2cba72ac50bc6efa936bbbe6a21e
BLAKE2b-256 6858c96f8975aa1afd7177aa662bd67e427d0f565fa7ba4f4852f051c5f21bce

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0fd14226e7d8f7cd34b3744a5cf1eef0246fd754d9a1ce34cb20abfe094ac1cc
MD5 96f3b3d8cd3c1f8ea9e82d80a9557d27
BLAKE2b-256 4c6e4bb825a0bdcd0d508f251bed3c78cb2a36d6d76eb958c3cf4194fa5b289d

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8c92d21fb671429e1f28f99372c61c4efef22dc435a86f9c905c47bca09ccb4a
MD5 6904a245109d8a64168b7b71b56998e4
BLAKE2b-256 a6df3bed202dc57c4eb56de568f2a3e85b83d575d3bb9bbb9a1d67f7f0de2d74

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bafdcb3ff014562e664b274fc99f538369a7385aade6ea31d426b6c4adb0b3bc
MD5 752898b9b980a89bd7720058eeee0bed
BLAKE2b-256 3ab29964d2a0e5b109adf643bf75109f2af06d74f61e83b8105a8d2e3ad91edb

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 eee7315d31c40e4b9893ab1db2008fbdd4382275f5327e131bf03717a95a2337
MD5 efda55088a59093447a24f0ba3b086ca
BLAKE2b-256 eb94f6f27788bf32b1d15a76a59217a025088d4a3a656425380c61d5748f0595

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8eec4f94af880c2e29db9e79ef77b96739fbb6e990d17f4dbc4d49be85cdf62f
MD5 5857c7ba366d3c2112af44bdebcea5c8
BLAKE2b-256 a133984ef0e287fa4d0898e0a19b391651b1400bd104c8724225b45d81a1f6d4

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: cppbktree-0.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 57.4 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for cppbktree-0.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ebe268898aa79a1aff00e200d9e9407cf390b3f9d526e24a8231a41eb72415d1
MD5 6aa79a0b614a029195faea28b408b334
BLAKE2b-256 0b0f9ecea95c516ab5890c05da9e2d1411425db67d6ed22a49d3e0b16b7ebd9e

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ac3e4cb3e389b2778fd933f32bb227666e2dcf2b4098b03525180a0a4349135a
MD5 5e6dd4dfd5c2ec0638c67e6af9cb485e
BLAKE2b-256 0d045c1d1da15174298a26ccf50693df6b30240d72383bd17c1792777ee2fc65

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 3a4efb8f7e184adff958476ccfa3a547d7c21f232e5af89cf19b2b60ad1cd90a
MD5 c6fb12c871a1fc11cce23592a71442f1
BLAKE2b-256 84490d6d67849a2081b312481e5547c43d45425bb161726bb79699feb67096ca

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ab4f3154bf2071290a273413d527f0c1e6a857823625e789590c267983b0588
MD5 51224aa50eadc96044c1d432753a7134
BLAKE2b-256 d13ee9a6e43fa9a7be9bebb32740748f75afd6cba513b33bbc37c0fcfe1fe3c5

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b79b80282837c72a6de20f7a4dd545d8fac912cc9022c5076f5a699d7b066126
MD5 0ca002649f50dbae171fb33fc4a5fc37
BLAKE2b-256 eaac5321c896fe6af878bc65c27cd0be237c842670c3e4ef5ad62ad895e9e45e

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 195f180385810aac8ffac5ca8a756c50f014e8a87b30f0444cfdc557b990e3f7
MD5 3c97caf207074675a6b2c2c587bc2d74
BLAKE2b-256 27ed511259bd0052f2f7a85694f734908191415f01af9fc7f14671663fc28391

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f5854d96bbcf61bd19690c3b8105aa5f9441f17d12b84545e54af189c0c573a7
MD5 5f17804c9345b062eff85647ecc3c930
BLAKE2b-256 3688e7387a61ed3e580027f134e24e2fcffcf6525704511f5a9acfae0e51aaac

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: cppbktree-0.1.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 56.5 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for cppbktree-0.1.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 61fc5a1f1a6d5645905d55714bb49a85968dda9981dcbc5bd3984dd25d660a3b
MD5 b4ae1627da93c9e63f3b8ec6e2767388
BLAKE2b-256 1c1e6b80e741eae9001d74a6bad604e5d7c0bdf3cc6982645a7c3051e61d6826

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 116cab6b5636a01433f5699dc48fc6fc530e2ba1ebe0bbb19f0715ed3cb6e50c
MD5 024c1f445201bf76785828c13f58ed88
BLAKE2b-256 25f0ff5cdd66dcdc614e1927109227f3a28acf82ec3b2deccf936b37856af7b4

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp36-cp36m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7f6315bb1758f13dd027ca8385dc691b7bf14dee87d397ba505e900655b63697
MD5 35b628f60b5d827d14fdb53003fb76b4
BLAKE2b-256 e03ff80eac66bfc421d7b173191780f33363dbcf2bdf3b6ad981aeb0f5606ad7

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp36-cp36m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp36-cp36m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 477c4a1b3ecd37b02314c07c9293586c504682f2836a87f39d9573b893bc57ac
MD5 c1c0be0b14103c28161551b45cc6eb2c
BLAKE2b-256 0abe45db443cb64a342861255246e4c03e6a4a2960cc8bb9a64527b9ac309322

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9c476d391e97a7abd588f204441bc6c76a32ac7360922158a86ab54df1de975
MD5 cae55eb2910b20a8e19257344a4b8312
BLAKE2b-256 5d0e2a62d39d68c3ac35bea57c6c23780c363feaad3670557f83b9377b4f40a9

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6fff0123ec42c5b7b9de8304126676935d73fc47e981611fc86cc234255aa715
MD5 05d93f0c1a7aeeb5f5484e51e07f9738
BLAKE2b-256 08daf5624d59f6e490fcc9d26008a4905ad7cd5e3e46a9c722825b03e45776fb

See more details on using hashes here.

File details

Details for the file cppbktree-0.1.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cppbktree-0.1.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 606824b5fee681db4bb2b694edfc99da196f13ea996dd75f312d7124462104bc
MD5 91fc5918f23c81fd55cebbd0233c4541
BLAKE2b-256 ba6a87fcce06425b8ea924431126a38f3c79c702085e1cf69ea4a8306d6a863f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page