Replace spatial-graph with rstar-python - #335
Conversation
Use rstar-python's point and bounding-box indexes while preserving inclusive queries, exact node deletion, dynamic updates, and one-dimensional filters. Pin the unreleased 0.2.0 implementation until the upstream bounding-box support is released.
Remove the spatial extra now that spatial indexing is part of the standard graph API. Install both spatial backends in ASV so the previous spatial-graph baseline and the rstar-python branch can be benchmarked in the same continuous run.
|
Hi @TeunHuijben and @cmalinmayor , any thoughts? |
|
I'm in favor of not requiring spatial-graph as long as it it needs to run C++ at build time, since our Windows users are very unhappy. Presumably the benchmarks show similar speed? |
|
I created a PR on funtracks that uses this |
|
It really should only affect the GraphArrayView 🤔 Which I'm not sure we benchmark in funtracks at all. The fact that it's faster in funtracks implies we still have some c-compilation time in our benchmarks. |
|
Hmm interesting, I'll make a motile_tracker draft PR as well |
|
I did see a few speed-ups compared to spatial-graph. |
Depends on kephale/rstar-python#4.
Replaces
spatial-graphwith rstar-python point and bounding-box indexes while preserving inclusive ROI queries, dynamic updates, exact node deletion, and one-dimensional filters. rstar-python is now a core dependency; thespatialextra is removed, and uv is pinned to the upstream PR commit until 0.2.0 is released. ASV installs both backends so it can compare the spatial-graph baseline with this branch.Tests:
uv run pytest src/tracksdata -q(1293 passed, 12 skipped, 1 xfailed); Ruff check/format pass; targetedasv continuous upstream/main HEAD --quickpasses.