Skip to content

Update CI, bump fast-plaid to 1.4.4, and add low_memory parameter#204

Open
raphaelsty wants to merge 5 commits intomainfrom
ci/python-3.10-3.14-tests
Open

Update CI, bump fast-plaid to 1.4.4, and add low_memory parameter#204
raphaelsty wants to merge 5 commits intomainfrom
ci/python-3.10-3.14-tests

Conversation

@raphaelsty
Copy link
Copy Markdown
Collaborator

@raphaelsty raphaelsty commented Feb 25, 2026

Summary

  • Update CI to test Python 3.10 and 3.14
  • Bump fast-plaid dependency to >=1.4.4.270,<=1.4.4.290
  • Add configurable low_memory parameter to FastPlaid index (defaults to False for faster GPU search)

Changes

  • pyproject.toml: Updated fast-plaid version range
  • pylate/indexes/fast_plaid.py: Added low_memory parameter with docstring, passed through to search.FastPlaid()

@raphaelsty raphaelsty force-pushed the ci/python-3.10-3.14-tests branch from 1086f92 to 135dade Compare February 25, 2026 14:09
@raphaelsty
Copy link
Copy Markdown
Collaborator Author

raphaelsty commented Feb 25, 2026

Investigating how to make fast-plaid compatible with python 3.14 version

lightonai/fast-plaid#37

Blocker encountered with tch-rs, it's ok for now to not support python 3.14, we will as soon as tch-rs support recent PyO3 version

LaurentMazare/tch-rs#1002

@mchar7
Copy link
Copy Markdown

mchar7 commented Feb 26, 2026

I see you hit the tch-rs wall for 3.14 support. I've been poking at the same issue.

I managed to get fast-plaid built and running on 3.14 with the ABI3 compatibility flag. Built a wheel locally and ran the PyLate and fast-plaid test suites and all pass.

This would just need to be added to CIBW_ENVIRONMENT:

PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1

That would be a no-op for <3.14 and your existing --exclude libtorch* auditwheel flags handle the bundling correctly.

I'd get it if if you'd prefer to wait for tch-rs to properly support PyO3 0.28, but if you want to unblock 3.14 now I can throw together a PR for fast-plaid#37.

@raphaelsty
Copy link
Copy Markdown
Collaborator Author

You rock @mchar7, would love to get a PR with the CIBW flag, thank you for the feedback

@raphaelsty raphaelsty changed the title Update CI to test Python 3.10 and 3.14 Update CI, bump fast-plaid to 1.4.4, and add low_memory parameter Mar 6, 2026
raphaelsty and others added 3 commits March 6, 2026 14:00
Drop Python 3.9 (deprecated in Sentence Transformers) and 3.12 to only
test the lower and upper bounds of supported versions, keeping CI fast.
Also remove --extra voyager from test runs since the Voyager index is
being deprecated and was causing failures on Python 3.14.

Closes #185

Co-Authored-By: Roman Solomatin <samoed.roman@gmail.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@raphaelsty raphaelsty force-pushed the ci/python-3.10-3.14-tests branch from 5182ce9 to edd725d Compare March 6, 2026 13:01
@mchar7
Copy link
Copy Markdown

mchar7 commented Mar 22, 2026

I pushed a few commits on top of your branch to get the 3.14 tests green.

  • Bumped sentence-transformers and transformers to the 5.x line. This fixes the main issue where ModernBERT's @torch.compile decorators caused an import crash on 3.14. Also bumped ujson for cp314 wheels and synced the ruff target version to py310. (b820113)
  • Transformers 5.x dropped overwrite_output_dir, so I removed it from the training tests and docs. Also skipped Voyager in test_retriever.py on 3.14 since there's no wheel yet. (460f973)
  • Added lightonai/GTE-ModernColBERT-v1 to the parametrized load tests to catch this specific regression going forward. (bc70208)
  • Fixed the PLAID tests on Windows 3.14. zlib-state (pulled in by ranx) doesn't have cp314 wheels and fails to build without zlib.h. Swapped --extra dev for --with pytest --with pytest-cov in the workflow since eval deps aren't needed there anyway. (4a3658c)

All workflows passing: CI run (mchar7#1). Branch is at mchar7/pylate:python314-fix (https://github.com/mchar7/pylate/tree/python314-fix) if you want to scan through.

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.

2 participants