Skip to content

topk-sdk: Add version 0.15.0 - #3230

Draft
luhenry wants to merge 2 commits into
mainfrom
topk-sdk
Draft

luhenry wants to merge 2 commits into
mainfrom
topk-sdk

Conversation

@luhenry

@luhenry luhenry commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Compiles the PyO3 topk-py bindings against the sibling topk-rs crate (vector-search client SDK). Upstream publishes no riscv64 wheel.

Mirrors the linux job of upstream's publish_python.yml.

Differs from upstream

  • yum install protobuf-compiler from the manylinux image's CRB repo - protobuf ships no riscv64 protoc release.
  • No musllinux - rustup.rs ships no riscv64 musl toolchain.
  • Test command runs only the offline-safe test modules - the rest of upstream's suite needs TOPK_API_KEY and a live topk sandbox.

Matrix: cp312/cp313/cp314 - upstream ships cp39-cp314, all cp3x-cp3x (not abi3), and the module doesn't declare gil_used(false), so no cp314t.

Testing

  • test_data_bytes.py, test_data_list.py, test_data_matrix.py, test_data_struct.py, test_data_vector_dense.py, test_data_vector_sparse.py, test_query_expr.py, test_retry_config.py - the offline-safe subset of upstream's suite.

License: OK (MIT)

luhenry commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

Same mechanic as #3221-#3229: check_commit_messages (job 115940141243) failed on check_no_ai_attribution against the pull_request "opened" webhook's frozen body snapshot, captured before create_pull_request's auto-injected "Generated by Claude Code" footer was stripped via update_pull_request. The live PR body has been clean since right after creation.

pr-checks.yml already triggers on edited for exactly this case; that run should pass once it clears the backlog. No fix to push — watching for it.


Generated by Claude Code

luhenry added a commit that referenced this pull request Oct 15, 2026
…ated

topk-sdk (#3230), zope-index (#3228), zccache (#3229), kfnetlist (#3231),
ligo-skymap (#3233), quantile-forest (#3232), fbuild (#3235),
py-ballisticcalc-exts (#3238), resdata (#3237), oxapy (#3239),
pyramids-gis (#3240), biscuit-python (#3223), ansys-mapdl-reader (#3227)
all had open PRs that queue.yml never reflected (status still queued,
pr still null). Verified each PR independently before updating.
Build topk-sdk 0.15.0 cp314-manylinux_riscv64 failed 3 of its offline
tests (TestU8Vector/TestI8Vector/TestBinaryVector::test_invalid_
number_range): each expects OverflowError matching "out of range
integral type conversion attempted", but got "number too large/small
to fit in target type" instead -- same exception, different libstd
wording. pyo3's own FromPyObject<u8>/<i8> impls raise this by wrapping
std::num::TryFromIntError's Display text verbatim, and topk-py's
Cargo.toml pins no Cargo.lock of its own, so this build's actual Rust
toolchain renders the newer libstd message. Not riscv64-specific --
reproduces on any architecture with the same toolchain. Widens the
test's expected regex to accept either wording.
@luhenry
luhenry marked this pull request as draft October 15, 2026 12:14

This branch has not been deployed

No deployments
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