fastquadtree 0.4.0__tar.gz → 0.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/.github/workflows/release.yml +22 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/Cargo.lock +1 -1
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/Cargo.toml +1 -1
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/PKG-INFO +18 -3
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/README.md +17 -2
- fastquadtree-0.4.1/assets/quadtree_bench_throughput.png +0 -0
- fastquadtree-0.4.1/assets/quadtree_bench_time.png +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/benchmarks/quadtree_bench/engines.py +1 -1
- fastquadtree-0.4.0/assets/quadtree_bench_throughput.png +0 -0
- fastquadtree-0.4.0/assets/quadtree_bench_time.png +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/.gitignore +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/.pre-commit-config.yaml +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/LICENSE +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/assets/interactive_v2_screenshot.png +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/benchmarks/benchmark_native_vs_shim.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/benchmarks/cross_library_bench.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/benchmarks/quadtree_bench/__init__.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/benchmarks/quadtree_bench/main.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/benchmarks/quadtree_bench/plotting.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/benchmarks/quadtree_bench/runner.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/benchmarks/requirements.txt +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/benchmarks/runner.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/examples/delete_demo.rs +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/interactive/interactive.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/interactive/interactive_v2.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/interactive/requirements.txt +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/pyproject.toml +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/pysrc/fastquadtree/__init__.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/pysrc/fastquadtree/__init__.pyi +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/pysrc/fastquadtree/_bimap.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/pysrc/fastquadtree/_item.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/pysrc/fastquadtree/py.typed +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/src/geom.rs +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/src/lib.rs +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/src/quadtree.rs +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/insertions.rs +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/nearest_neighbor.rs +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/query.rs +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/rectangle_traversal.rs +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/test_bimap.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/test_delete.rs +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/test_delete_by_object.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/test_delete_python.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/test_python.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/test_unconventional_bounds.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/test_wrapper_edges.py +0 -0
- {fastquadtree-0.4.0 → fastquadtree-0.4.1}/tests/unconventional_bounds.rs +0 -0
@@ -9,6 +9,28 @@ on:
|
|
9
9
|
workflow_dispatch:
|
10
10
|
|
11
11
|
jobs:
|
12
|
+
test:
|
13
|
+
name: Test build
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v4
|
17
|
+
- name: Set up Python
|
18
|
+
uses: actions/setup-python@v5
|
19
|
+
with:
|
20
|
+
python-version: "3.10"
|
21
|
+
- name: Build with maturin
|
22
|
+
uses: PyO3/maturin-action@v1
|
23
|
+
with:
|
24
|
+
command: build
|
25
|
+
manylinux: manylinux2014
|
26
|
+
- name: Install Dependencies
|
27
|
+
run: pip install pytest pytest-cov
|
28
|
+
- name: Test with pytest
|
29
|
+
run: pytest --cov --cov-branch --cov-report=xml
|
30
|
+
- name: Upload coverage to Codecov
|
31
|
+
uses: codecov/codecov-action@v5
|
32
|
+
with:
|
33
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
12
34
|
build:
|
13
35
|
name: Build wheels
|
14
36
|
runs-on: ${{ matrix.os }}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: fastquadtree
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.1
|
4
4
|
Classifier: Programming Language :: Python :: 3
|
5
5
|
Classifier: Programming Language :: Python :: 3 :: Only
|
6
6
|
Classifier: Programming Language :: Rust
|
@@ -23,7 +23,22 @@ Project-URL: Issues, https://github.com/Elan456/fastquadtree/issues
|
|
23
23
|
|
24
24
|
# fastquadtree
|
25
25
|
|
26
|
-
[](https://pypi.org/project/fastquadtree/)
|
27
|
+
[](https://pypi.org/project/fastquadtree/)
|
28
|
+
[](https://pypi.org/project/fastquadtree/#files)
|
29
|
+
[](LICENSE)
|
30
|
+
|
31
|
+
[](https://pepy.tech/projects/fastquadtree)
|
32
|
+
[](https://pepy.tech/projects/fastquadtree)
|
33
|
+
|
34
|
+
[](https://github.com/Elan456/fastquadtree/actions/workflows/ci.yml)
|
35
|
+
[](https://codecov.io/gh/Elan456/fastquadtree)
|
36
|
+
|
37
|
+
[](https://pyo3.rs/)
|
38
|
+
[](https://www.maturin.rs/)
|
39
|
+
[](https://github.com/psf/black)
|
40
|
+
[](http://mypy-lang.org/)
|
41
|
+
|
27
42
|
|
28
43
|

|
29
44
|
|
@@ -86,7 +101,7 @@ id1 = qt_tracked.insert((50, 50), obj=player1)
|
|
86
101
|
id2 = qt_tracked.insert((150, 150), obj=player2)
|
87
102
|
|
88
103
|
# Delete by object reference (O(1) lookup!)
|
89
|
-
deleted = qt_tracked.delete_by_object(player1
|
104
|
+
deleted = qt_tracked.delete_by_object(player1)
|
90
105
|
print(f"Deleted player: {deleted}") # True
|
91
106
|
```
|
92
107
|
|
@@ -1,6 +1,21 @@
|
|
1
1
|
# fastquadtree
|
2
2
|
|
3
|
-
[](https://pypi.org/project/fastquadtree/)
|
4
|
+
[](https://pypi.org/project/fastquadtree/)
|
5
|
+
[](https://pypi.org/project/fastquadtree/#files)
|
6
|
+
[](LICENSE)
|
7
|
+
|
8
|
+
[](https://pepy.tech/projects/fastquadtree)
|
9
|
+
[](https://pepy.tech/projects/fastquadtree)
|
10
|
+
|
11
|
+
[](https://github.com/Elan456/fastquadtree/actions/workflows/ci.yml)
|
12
|
+
[](https://codecov.io/gh/Elan456/fastquadtree)
|
13
|
+
|
14
|
+
[](https://pyo3.rs/)
|
15
|
+
[](https://www.maturin.rs/)
|
16
|
+
[](https://github.com/psf/black)
|
17
|
+
[](http://mypy-lang.org/)
|
18
|
+
|
4
19
|
|
5
20
|

|
6
21
|
|
@@ -63,7 +78,7 @@ id1 = qt_tracked.insert((50, 50), obj=player1)
|
|
63
78
|
id2 = qt_tracked.insert((150, 150), obj=player2)
|
64
79
|
|
65
80
|
# Delete by object reference (O(1) lookup!)
|
66
|
-
deleted = qt_tracked.delete_by_object(player1
|
81
|
+
deleted = qt_tracked.delete_by_object(player1)
|
67
82
|
print(f"Deleted player: {deleted}") # True
|
68
83
|
```
|
69
84
|
|
Binary file
|
Binary file
|
@@ -247,7 +247,7 @@ def get_engines(
|
|
247
247
|
"fastquadtree": _create_fastquadtree_engine(bounds, max_points, max_depth),
|
248
248
|
"e-pyquadtree": _create_e_pyquadtree_engine(bounds, max_points, max_depth),
|
249
249
|
"PyQtree": _create_pyqtree_engine(bounds, max_points, max_depth),
|
250
|
-
|
250
|
+
# "Brute force": _create_brute_force_engine(bounds, max_points, max_depth), # Brute force doesn't scale well on the graphs so omit it from the main set
|
251
251
|
}
|
252
252
|
|
253
253
|
# Optional engines (only include if import succeeded)
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|