Skip to content

Require stride-aware backends for pandas 3.1 - #412

Merged
endrebak merged 4 commits into
masterfrom
fix/k-nearest-contiguous
Oct 26, 2026
Merged

endrebak merged 4 commits into
masterfrom
fix/k-nearest-contiguous

Conversation

@endrebak

@endrebak endrebak commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

pandas 3.1 can return non-contiguous arrays from Series.values, which older ncls, sorted_nearest and pyrle kernels reject. Require the fixed backend versions so k_nearest, overlap, subtraction and coverage work without adding copies throughout PyRanges.

Bumps PyRanges to 0.1.7 and requires ncls >= 0.0.71, sorted_nearest >= 0.0.42 and pyrle >= 0.0.46 for the coverage extra.

Prerequisites: merge and publish the backend fixes before merging/releasing this dependency update:

Validation: smoke-tested k_nearest, overlap, join, subtract, coverage and to_rle on Python 3.12 / pandas 3.1.0 with wheels built from those fixes. The older k_nearest.py tests retain three pre-existing int32-versus-int64 fixture mismatches, reproduced with the previous backend/PyRanges versions; those fixtures are unchanged here.

CI now tests Python 3.11 and above and installs pinned companion backend PR revisions before their releases are available on PyPI. Add a local tests package marker so dependency test packages cannot shadow tests.helpers. Local validation: 87 doctests and 40 unit tests pass.

@endrebak
endrebak merged commit d2653c3 into master Oct 26, 2026
11 checks passed
@endrebak
endrebak deleted the fix/k-nearest-contiguous branch October 26, 2026 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant