Skip to main content

Python implementation of Priority R-Tree

Project description

python_prtree

python_prtree is a python/c++ implementation of the Priority R-Tree (see references below), an alternative to R-Tree. The supported futures are as follows:

  • Construct a Priority R-Tree (PRTree) from an array of rectangles.
    • PRTree2D, PRTree3D and PRTree4D (2D, 3D and 4D respectively)
  • insert and erase
    • The insert method can be passed pickable Python objects instead of int64 indexes.
  • query and batch_query
    • batch_query is parallelized by std::thread and is much faster than the query method.
    • The query method has an optional keyword argument return_obj; if return_obj=True, a Python object is returned.
  • rebuild
    • It improves performance when many insert/delete operations are called since the last rebuild.
    • Note that if the size changes more than 1.5 times, the insert/erase method also performs rebuild.

This package is mainly for mostly static situations where insertion and deletion events rarely occur.

Installation

You can install python_prtree with the pip command:

pip install python-prtree

If the pip installation does not work, please git clone clone and install as follows:

pip install -U cmake pybind11
git clone --recursive https://github.com/atksh/python_prtree
cd python_prtree
python setup.py install

Examples

import numpy as np
from python_prtree import PRTree2D

idxes = np.array([1, 2])

# rects is a list of (xmin, ymin, xmax, ymax)
rects = np.array([[0.0, 0.0, 1.0, 0.5],
                  [1.0, 1.5, 1.2, 3.0]])

prtree = PRTree2D(idxes, rects)


# batch query
q = np.array([[0.5, 0.2, 0.6, 0.3],
              [0.8, 0.5, 1.5, 3.5]])
result = prtree.batch_query(q)
print(result)
# [[1], [1, 2]]

# You can insert an additional rectangle by insert method,
prtree.insert(3, np.array([1.0, 1.0, 2.0, 2.0]))
q = np.array([[0.5, 0.2, 0.6, 0.3],
              [0.8, 0.5, 1.5, 3.5]])
result = prtree.batch_query(q)
print(result)
# [[1], [1, 2, 3]]

# Plus, you can erase by an index.
prtree.erase(2)
result = prtree.batch_query(q)
print(result)
# [[1], [1, 3]]

# Non-batch query is also supported.
print(prtree.query([0.5, 0.5, 1.0, 1.0]))
# [1, 3]

# Point query is also supported.
print(prtree.query([0.5, 0.5]))
# [1]
print(prtree.query(0.5, 0.5))  # 1d-array
# [1]
import numpy as np
from python_prtree import PRTree2D

objs = [{"name": "foo"}, (1, 2, 3)]  # must NOT be unique but pickable
rects = np.array([[0.0, 0.0, 1.0, 0.5],
                  [1.0, 1.5, 1.2, 3.0]])

prtree = PRTree2D()
for obj, rect in zip(objs, rects):
    prtree.insert(bb=rect, obj=obj)

# returns indexes genereted by incremental rule.
result = prtree.query((0, 0, 1, 1))
print(result)
# [1]

# returns objects when you specify the keyword argment return_obj=True
result = prtree.query((0, 0, 1, 1), return_obj=True)
print(result)
# [{'name': 'foo'}]

The 1d-array batch query will be implicitly treated as a batch with size = 1. If you want 1d result, please use query method.

result = prtree.query(q[0])
print(result)
# [1]

result = prtree.batch_query(q[0])
print(result)
# [[1]]

You can also erase(delete) by index and insert a new one.

prtree.erase(1)  # delete the rectangle with idx=1 from the PRTree

prtree.insert(3, np.array([0.3, 0.1, 0.5, 0.2]))  # add a new rectangle to the PRTree

You can save and load a binary file as follows.

# save
prtree.save('tree.bin')


# load with binary file
prtree = PRTree('tree.bin')

# or defered load
prtree = PRTree()
prtree.load('tree.bin')

Note that cross-version compatibility is NOT guaranteed, so please reconstruct your tree when you update this package.

Performance

Construction

2d

2d_fig1

3d

3d_fig1

Query and batch query

2d

2d_fig2

3d

3d_fig2

Delete and insert

2d

2d_fig3

3d

3d_fig3

New Features and Changes

python-prtree>=0.7.0

BREAKING CHANGES:

  • Fixed critical intersection bug: Boxes with small gaps (< 1e-5) were incorrectly reported as intersecting due to float32 precision loss. Now uses precision-matching two-stage approach: float32 input → pure float32 performance, float64 input → float32 tree + double-precision refinement for correctness.
  • Python version requirements: Minimum Python version is now 3.8 (dropped 3.6 and 3.7 due to pybind11 v2.13.6 compatibility). Added support for Python 3.13 and 3.14.
  • Serialization format changed: Binary files saved with previous versions are incompatible with 0.7.0+. You must rebuild and re-save your trees after upgrading.
  • Updated pybind11: Upgraded from v2.12.0 to v2.13.6 for Python 3.13+ support.
  • Input validation: Added validation to reject NaN/Inf coordinates and enforce min <= max per dimension.
  • Improved test coverage: Added comprehensive tests for edge cases including disjoint boxes with small gaps, touching boxes, large magnitude coordinates, and degenerate boxes.

Bug Fix Details:

The bug occurred when two bounding boxes were separated by a very small gap (e.g., 5.39e-06). When converted from float64 to float32, the values would collapse to the same float32 value, causing the intersection check to incorrectly report them as intersecting. This has been fixed by implementing a precision-matching approach: float32 input uses pure float32 for speed, while float64 input uses a two-stage filter-then-refine approach (float32 tree + double-precision refinement) for correctness.

python-prtree>=0.5.8

  • The insert method has been improved to select the node with the smallest mbb expansion.
  • The erase method now also executes rebuild when the size changes by a factor of 1.5 or more.

python-prtree>=0.5.7

  • You can use PRTree4D.

python-prtree>=0.5.3

  • Add compression for pickled objects.

python-prtree>=0.5.2

You can use pickable Python objects instead of int64 indexes for insert and query methods:

python-prtree>=0.5.0

  • Changed the input order from (xmin, xmax, ymin, ymax, ...) to (xmin, ymin, xmax, ymax, ...).
  • Added rebuild method to build the PRTree from scratch using the already given data.
  • Fixed a bug that prevented insertion into an empty PRTree.

python-prtree>=0.4.0

  • You can use PRTree3D:

Reference

The Priority R-Tree: A Practically Efficient and Worst-Case Optimal R-Tree Lars Arge, Mark de Berg, Herman Haverkort, and Ke Yi Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data (SIGMOD '04), Paris, France, June 2004, 347-358. Journal version in ACM Transactions on Algorithms. author's page

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

python_prtree-0.7.0.tar.gz (3.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

python_prtree-0.7.0-cp314-cp314-win_amd64.whl (232.3 kB view details)

Uploaded CPython 3.14Windows x86-64

python_prtree-0.7.0-cp314-cp314-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

python_prtree-0.7.0-cp314-cp314-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

python_prtree-0.7.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (259.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

python_prtree-0.7.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (234.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

python_prtree-0.7.0-cp314-cp314-macosx_11_0_arm64.whl (201.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

python_prtree-0.7.0-cp314-cp314-macosx_10_15_x86_64.whl (232.7 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

python_prtree-0.7.0-cp313-cp313-win_amd64.whl (225.4 kB view details)

Uploaded CPython 3.13Windows x86-64

python_prtree-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

python_prtree-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

python_prtree-0.7.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (259.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

python_prtree-0.7.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (234.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

python_prtree-0.7.0-cp313-cp313-macosx_11_0_arm64.whl (201.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

python_prtree-0.7.0-cp313-cp313-macosx_10_14_x86_64.whl (232.2 kB view details)

Uploaded CPython 3.13macOS 10.14+ x86-64

python_prtree-0.7.0-cp312-cp312-win_amd64.whl (225.4 kB view details)

Uploaded CPython 3.12Windows x86-64

python_prtree-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

python_prtree-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

python_prtree-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (270.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

python_prtree-0.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (249.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

python_prtree-0.7.0-cp312-cp312-macosx_11_0_arm64.whl (201.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

python_prtree-0.7.0-cp312-cp312-macosx_10_14_x86_64.whl (232.2 kB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

python_prtree-0.7.0-cp311-cp311-win_amd64.whl (224.4 kB view details)

Uploaded CPython 3.11Windows x86-64

python_prtree-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

python_prtree-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

python_prtree-0.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (270.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

python_prtree-0.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (249.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

python_prtree-0.7.0-cp311-cp311-macosx_11_0_arm64.whl (200.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

python_prtree-0.7.0-cp311-cp311-macosx_10_14_x86_64.whl (229.7 kB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

python_prtree-0.7.0-cp310-cp310-win_amd64.whl (223.4 kB view details)

Uploaded CPython 3.10Windows x86-64

python_prtree-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

python_prtree-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

python_prtree-0.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (269.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

python_prtree-0.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (249.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

python_prtree-0.7.0-cp310-cp310-macosx_11_0_arm64.whl (198.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

python_prtree-0.7.0-cp310-cp310-macosx_10_14_x86_64.whl (228.3 kB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

python_prtree-0.7.0-cp39-cp39-win_amd64.whl (227.9 kB view details)

Uploaded CPython 3.9Windows x86-64

python_prtree-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

python_prtree-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

python_prtree-0.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (270.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

python_prtree-0.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (249.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

python_prtree-0.7.0-cp39-cp39-macosx_11_0_arm64.whl (198.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

python_prtree-0.7.0-cp39-cp39-macosx_10_14_x86_64.whl (228.4 kB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

python_prtree-0.7.0-cp38-cp38-win_amd64.whl (223.1 kB view details)

Uploaded CPython 3.8Windows x86-64

python_prtree-0.7.0-cp38-cp38-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

python_prtree-0.7.0-cp38-cp38-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

python_prtree-0.7.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (269.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

python_prtree-0.7.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (248.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

python_prtree-0.7.0-cp38-cp38-macosx_11_0_arm64.whl (198.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

python_prtree-0.7.0-cp38-cp38-macosx_10_14_x86_64.whl (227.9 kB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

File details

Details for the file python_prtree-0.7.0.tar.gz.

File metadata

  • Download URL: python_prtree-0.7.0.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for python_prtree-0.7.0.tar.gz
Algorithm Hash digest
SHA256 f3c2eafbd1b8e4ec57a11cb3bfbb9397d6e374a39351bffa7c13a4c40f2eeec3
MD5 39c48fab5f05d0dedbfc9c03b5edc33e
BLAKE2b-256 64e0e65ff0990014d2afec056bf5162c8914a7f740e71dbf377d1c9771302650

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 cbb08e51d129e23b767488d922788e7249ab8b12a833f9323fbaf6d09843ebf6
MD5 669a8459948249d73cb67b9742deff6e
BLAKE2b-256 fa380df0d4136d26c65fe0c5a9ce003705f8ab8f75a23082df7291b348b342dd

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cd66a03bd6b7e884d9190ba69bb745dc6aba5191204ec724fa07febffa6cfb0d
MD5 4820914e18d7ff4456137319f9be1b09
BLAKE2b-256 8a25bb3c01848b49f87810b703e39fa4a71e2c7109a69c75ee8820b124ff23e0

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 82bd7c81426d30a21e7f84a3cccd55e0ed4c66e21c874351a235880d9e21e6b8
MD5 e01a6ccc27d0902e8f455a995c47cf0d
BLAKE2b-256 18b8bd4a45403ec6aaf2f6c74c408742b11380c8f2c76881cf182815ae60a4d5

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4aabcad2214fb54df91e154eaef1add9df58cd60c0badeb050d5043bbd540b6f
MD5 b5b87f6d992d998197a6ed2ae3833631
BLAKE2b-256 def60022945e7a3f9fba2114c10b135325d400105eae07b82a247155b8223705

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 73bff330eec494e46f4a169194b8122c04f4b12319c2037e4333c1b43a4ba44c
MD5 bf0a5378be17e6ae581e9588d4987d20
BLAKE2b-256 9ad2137801e83d3b5113f6726ab660cb57a83798befdffd93548a1a57436f29f

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9a27e348356509d96a7390c0eeb56a7515504c18c1cfcd53d2049b911151abe4
MD5 1a7db8b7e38344e0d87a19f5759c7d9f
BLAKE2b-256 019d1e25ea928e6ac309823d49c9fe3e99fd3fd24f718cbabb4a8c4d60ffc93c

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7fb53aca10d856f4fe70cd0055a39f86a365a8e559988a48e0f99d18a3932de6
MD5 e093ddbd62fcee6b76fd2217e8ffc3ff
BLAKE2b-256 3357c62ed38b519256447d73220e5336caf339dcf47bc1f2361fb20868d64041

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a8777e5b118f93c10d8c996e8c5e85c883ac5a2932407017cb236383a8d14d4e
MD5 b49bf90bde41bd9695b2f153c22aca29
BLAKE2b-256 7bf24789c0599453ced433b0cb5d4040c12190cd0b25608b9dd8d339b4598a62

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a45aeca806c9e881ccd927b71a785abed70c8aae19d22bb59fa111513343b13f
MD5 b279a1385801f23e77e1c1f41ef7a3a3
BLAKE2b-256 32a9e91331a7dcca690b7c807184d1903951995c6f468d25e5b841f935780ea5

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5b46db9fcb74ddd25a3f27cc656e74d9ed35f542ac6931ea34aae7350c2efc27
MD5 7c45f7083377e4ad70fc906705a2006b
BLAKE2b-256 67decbb66206f3dc03c3400fe973c89ed11c7aabf42fbe7454bff9cd8c45da93

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 33a4e3e9b0ceb400cfddc7b0e7fb72c62e8bbbe5472ae4509dbd0a7adb576ae4
MD5 4ce79556db1b8bca4ea3c109c8c8f04f
BLAKE2b-256 395c642c133421cd9426171b73d17e00b7db21ada2e05cdfb0eb410695e08f29

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1e0ced89c132f5e8df6354ce7d94a8937e0ab18948df0ff7045cdfb208c892a8
MD5 7a2119729f555ecb0733b69af7d0cc1f
BLAKE2b-256 7b812d7f8301ef23c3e4aabd8eaf0e6c9d9d687cba8d8ecc7570e9e6eed55481

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 61b91b198a822dd785f6ed0ecde8f127fe3be9d813f51bd29e1dcf4d5b2a21ed
MD5 2cd26d20e0a50ad5c1c3b08a6571b184
BLAKE2b-256 25e6f442d9947658e16dab9e4b210e47b463afae275370b56acb2790b8fd78e4

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp313-cp313-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 e5eb71e5a6bad4ee22156bd2e8c86f1d85e4c174243fc35cc2c73d15a3c801f1
MD5 4159e57921634f31bf5565ad3999fdd1
BLAKE2b-256 b36515f24fc51d2b5b6a954ddf812a1276bfaf65020669a44402e8499248af50

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5754813e573908d0627a3d8017fcd922c256d4e7725423cc7331546af17e8306
MD5 24411c40e0e3df2961f564fc8352afd9
BLAKE2b-256 9339abcedde102d6828a5de3fffcb44294b6d4773aab9eab48db8f45f818f287

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4edbade634ef5960ee43d2eb55f846f93d65decb400f98acd9cbb0fefc780bfe
MD5 76122354f25e812bf1663b9a700b89bc
BLAKE2b-256 bc29cb250a18d3c79368a70e690f7205f29a0d17944f12aa6efad70a7b9478d5

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c705e3add7f9565bed8fc0ed208fcefd37a4389bcd383fa3b1f6654bd7ed5fa6
MD5 c9a20b99d5fdd942fadc63bff889a9f1
BLAKE2b-256 6287ce76e0408d28a90fe60b40f261801f0934eb3d71b60596934ca768499727

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 d187b938834bebba729e4a77926c6430eb7e118f249e44b78e83dc7bab2751cc
MD5 40eb1430402620874e03cf29399356bc
BLAKE2b-256 688ff5c16e7f185533cd667fa4a7ea54828ec2de0cc227f397ae9c63bfc8d419

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 412c4277a6cc73a22888df7dc08ac71c24bcaef00922c626617dd2c9642a3617
MD5 d57a2a4ff5fff56026ca6150c38eab92
BLAKE2b-256 3ebfbc6b75760bf12937713c10c94cedc000278eef5eae1dada6116cc911bda0

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 672b4e677f32a51e7d32bb2a688bc555048cfec3772148ec19a5e6cb79909167
MD5 66069e5941febe9dc6c8107b80a62571
BLAKE2b-256 e689f43be6a8bace1f747e205b315cc3ec962046cd4c83c8c54732dc79b6b2b1

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 37771fa6d7de35a78aa18614c87d8116befbc409dc8d8d136ef35b4dd146004d
MD5 23456134fbcfba59029648265fef19aa
BLAKE2b-256 e93c4ae5b434e295f55a79d932d94eb710f5b6ecce50d7537077d7b42d279092

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 15e48dd6d6a467b1657ed0bfce52366f7577e5f5d6515547840e254eb9be4a10
MD5 2a202ef56cda26604d07e8170c8fbb32
BLAKE2b-256 5321f3ff130e6c4595e28a44d1a93f1469b70528368745a4a1adfe64e5ecf33d

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e96496bd7de013f33dc2540f26c0e8178834b3e2d731178d010c82cd8e857497
MD5 c4c271a4a90aa1f1075a443a2e5b6fc2
BLAKE2b-256 bb2f7febb39416bb2acdb14dbb9d36378703d5828a3e33d1206ff0ea18692232

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 965c770af635337ca23040476146028b0bf87eae165cd70085b3bb72b7cad60c
MD5 26ef6400d51e3e40c1c02dc4721b3b67
BLAKE2b-256 1006374a3ebf24676fc4a18ca9f274bffdcc06bd141e60844f964190f56f9ff9

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0bae60c4a67b90e9583b0834b43db7c3678dfabad0d5a99d639dc4e5de72bb83
MD5 5b3051c04c7c8edc3f7dbe77527a4749
BLAKE2b-256 bce933bf3fe92caeb72da27d3e25c05c96614f43890b8c1dd5e193aec4c18474

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 27eb0e0fb5c5850c534d58c54b704b14435fda16ddd0e01e6d38b349ec4a0efd
MD5 2ff42994de1f5c84a786b3f215d4ddc0
BLAKE2b-256 74e40c8dd5c8f9ac02f483e5d3486cccded4d6841ac0d0c2448d8eb6ec95cdf1

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8ad59b62bcde9e1178c0047e260ea98e7889bc22c8e13c0e1c9f49c124bab96
MD5 a1d25a43dbe567c858e092a3956fc773
BLAKE2b-256 1e35d0f85c56ec9c070b372c3026c4c4f1b07ad0efc9522187e98dfd744f3e6b

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 45307ed0d30d53f93386364f6a00dee57a4077e0b905883abeef81d504462c91
MD5 687e5f7b840e40c32bed12529b30b15e
BLAKE2b-256 13a5139793882096ecca0bde59438b74fa6d435582df9a35af86323ab123afa7

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fc275d32150318373b781069856a03f4aef68e5c4652cc7933a797f4e6b63c96
MD5 473f190bba0a1848c629a9059f698571
BLAKE2b-256 34e24b1fad43a298b5a19f998d1384df44763bcafc845b45da5a924bd59d5beb

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 56d851e213321d1357205ad4eb6c4add4eea9a945ed5306f8ed03d5d331404bd
MD5 f9602746a8b5b6db365e540eb5be18f1
BLAKE2b-256 a2ba2d5a9889c0649bf2ffd202db01f9c53f6cb4081a992d5910c8aa5db1e440

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1b897a3e8eedffa12c428d0343d7f8b01186c480f8afec101ee47ad052095aea
MD5 d068e19e936aa457da551d3c6800c9c2
BLAKE2b-256 053d1133f85bd1df50e7109530a9ba71fee54f35f6afd6224c79dbfce1fe8f2a

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9705c55513603abc658607aeb3e1f1ea793410e9f51338dc1c197bfb7da8f4b0
MD5 ebdc7374be246615c279d40f5d72601b
BLAKE2b-256 69f09ce6101831262305a64b91ff1b5ee57856cd5269d24e2a5dcf450abb2e5d

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 d53fbd7d2df8c1d94a7be4615b7facc28ed52d122c3ca5df4fa097527b90339e
MD5 d75e83cb1885826e1ce169c9b0db84bc
BLAKE2b-256 4ffe90fc62b57cad716099dd0a626aea3509aa0847d47fe9f1a2d94d53209faf

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 106e81160c55b4df11b6d48efed7a2a724d23c76e274f2b351285e5c17b8c082
MD5 682a4a877d6e153e882f839fba0ffb24
BLAKE2b-256 f6276c2705d140b114668e60825e37db768d72efbf1226889fcd3b374ac54e4e

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 bcbe0664de46123a2a6723a1530a910e5c633715fc1b3104cbc3f55b8e1af4a6
MD5 c7a761fd3e53b343ec81214abeb032f6
BLAKE2b-256 c9e6ae28c7e2cb5ed136f5988f2d023ef9a76a1a7f3f5e74c3573bfec4deb55c

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a0aa926b5203c914fde805dd34640005223e6d2dd255369e42fa22654fd5cec9
MD5 e75ca1f9a964881d5272ddcf726e0ea2
BLAKE2b-256 f6c16476e01854e788798b46a1c8f0260b5a972364e0c4359d023d240a6a3794

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 beda646e2dab47e05297276a35342f0a29be3d3d96f009d3d257857bc9fdb7f5
MD5 cc7d8d517c12ea19422c607ae64ea7c7
BLAKE2b-256 fa016d812fc90774601a8234c68eb352e0ed8bdae957787e075d5cb15c34f13c

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c13f4ddf2339371ddf6d7569e316f06e0ce1b12e7923167a40de8ea12f352390
MD5 4063cd13603caafd1f8f55457ece5bfc
BLAKE2b-256 30f52cb689617da268e26164be285c4cb62732546d6c5301ee6b7dfaed728acd

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 214ae95c7c9bbea8c5e62d8b751313d29db7b059589ab8e72a14c9248af97bdc
MD5 e2c20304b6c758359aaf22df5c254ca1
BLAKE2b-256 29afae5555655b36a8440ed7ed95a2ecb1375c64cfbbb66fdf63a2734dbfb377

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 dfd5d300d4f50e7e6bffdd2b875c8c00605e161d1a2181d06737267dcb191db0
MD5 d7f16deaf16dc1ac81cc83f4921488fb
BLAKE2b-256 e014c06a87bc4c55fc17f4ff82ac1ca1d809ef4ae79a1d98c67e5db1bef2d899

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6e47ee85ad15c9844692e6eed0403c782a20db08b99a8253b445c480a6af48d
MD5 3030c8e7793be019f57c9d1f5597af0f
BLAKE2b-256 aa0c3742a51f237008dd0eaf6796731041f01e484bae9b18ea19168733b1f687

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 69af2f6beafb5a7976b8503cc97b6b3df913b84f234f5daed072e7b4f9f88e02
MD5 d588b0cd2c8184e938236cd783ef523c
BLAKE2b-256 9bca039fa9ac2b2a82e01ce8928041286b417740f7ca1328d094fc641822c593

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 90388be34ed645ae1eb9084e2d70033af57f939c0fae9c15f911a7bbd92f5dce
MD5 49396b8c5fed5acc3b0869ed7fcd9d90
BLAKE2b-256 3640a09fe1d5fbdf4a7b3f1f17948abf066a49e80be882ee933ec6b862aae8b8

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e9e4ef67fd0cd27fe1d41637e077fbed81c66bc99e86f0370304a77034a86fcc
MD5 0e068f0d796bbf49ce44d34307f627e8
BLAKE2b-256 354baa8f9330a405076b8c8c5930f916fd24ea4d3434f3d301a949079fa6ac2b

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 288c6533bc02e4a4a52ba6a23b4ae696a583a8e24cb21edeb5ff8568ee30a41e
MD5 f0bfab5129c73f8067d1822f4d4db38e
BLAKE2b-256 10709e551e9a2a7224c2f0b775fa98fcbb79a12cc0a6e8285beaf97ae5536d34

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ce294ca333fe6cd81d65672a0408afb639455457a2f27b27154de607b3b9b0e6
MD5 07f258bc9d53162b4db1703c28dfb9e6
BLAKE2b-256 c120b9876174540e11e057d5efbd32a8206c69fc9f0fe575876a7b043095dcea

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 8197bb27b9d16a7cbbd82582a76177b2fc25571cc2c2cd89c22a06c715435d21
MD5 ed0a98f998b63cb04cf50cf013be6a19
BLAKE2b-256 90d508e34f1535ada4cf7ef67f3ff3fcfd3cec376ce90411fa2850128ac11534

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f9d6bdac40bac00ea7cbc6fab63a36ab5fdd92c1be85030db50549a65830ca8
MD5 d81cb190c4c1db4fd9dfd5035bb815e2
BLAKE2b-256 15d0209e781d68d6ae2704b6127b3f2814012f44d51b6460916ed41458792908

See more details on using hashes here.

File details

Details for the file python_prtree-0.7.0-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for python_prtree-0.7.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 11505fdeccc2f9d23eb98c176311007b4e0844f37d72fbf856f84b6771a92113
MD5 8ae56382dba807c6c66f5cdc95536422
BLAKE2b-256 c0a114ec97fee4aa8b5397a6f2ff52ade1b0ce2c7396d464a76d76a13a78526a

See more details on using hashes here.

Supported by

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