Skip to content

chore(deps): bump the python-deps group across 1 directory with 11 updates - #60

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-deps-19d97add48
Closed

chore(deps): bump the python-deps group across 1 directory with 11 updates#60
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-deps-19d97add48

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 26, 2026

Copy link
Copy Markdown
Contributor

Bumps the python-deps group with 11 updates in the / directory:

Package From To
pydantic-settings 2.14.2 2.15.0
typer 0.27.0 0.27.1
faiss-cpu 1.14.3 1.15.0
filelock 3.32.2 3.32.3
sentence-transformers 5.6.1 6.0.0
numpy 2.5.1 2.5.2
packaging 26.2 26.3
mypy 2.3.0 2.3.1
ruff 0.16.1 0.16.4
hatchling 1.27.0 1.32.0
pip-audit 2.9.0 2.10.1

Updates pydantic-settings from 2.14.2 to 2.15.0

Release notes

Sourced from pydantic-settings's releases.

v2.15.0

Highlights

Behavior changes

  • case_sensitive now applies to init kwargs and config-file sources (#900). InitSettingsSource and the JSON/TOML/YAML config sources previously ignored case_sensitive. Since it defaults to False, case-insensitive matching is now the default for these sources — e.g. Settings(TeSt=...) now populates a test field where it previously did not. Nested keys are still matched case-sensitively.
  • Fields with unresolved forward references now emit a warning (#901). Settings sources can silently fail to resolve such fields; they now raise IncompleteFieldDefinitionWarning telling you to call model_rebuild(). If you have filterwarnings = error configured, this may surface as a new failure.
  • Non-JSON env values for strict fields now raise ValidationError (#926) instead of a less specific error.

New features

  • Show environment variable names in CLI help via cli_show_env_vars=True (#860), so generated --help output doubles as configuration documentation.
  • PYDANTIC_SETTINGS_DEBUG for debugging settings resolution (#906, #913). Set it to a truthy value with DEBUG logging enabled to see each source's contribution in priority order, which source won for each value, and which env_file/secret files were probed, loaded, or skipped — the long-standing "why isn't my .env being picked up?" question.
  • toml_table_header for regular TOML files (#882, #886, #887), letting you root settings at a nested table in any TOML file, not just pyproject.toml.
  • Traversable support for JSON/TOML/YAML file sources (#902), so you can load config packaged inside a distribution — including files inside a zip or wheel — via importlib.resources.files(...) without casting to Path.
  • GCP: project_id can come from an earlier settings source (#878), rather than only from the constructor or GOOGLE_CLOUD_PROJECT.

Bug fixes

  • Fix env vars not loading on Windows with case_sensitive=True (#894). Windows upper-cases os.environ keys, so fields raised Field required instead of picking up their values.
  • Read secret files as UTF-8 instead of the platform locale encoding (#917). On Windows code pages such as cp1252 this silently corrupted non-ASCII secrets.
  • Fix AliasPath on nested model fields not JSON-decoding env values (#898).
  • Fix case-insensitive matching for optional nested models (#905).
  • Fix dotenv extras being wrongly claimed by a complex field sharing a name prefix (#912) — e.g. dbx_token being swallowed by a db: dict field.
  • Fix nested_model_default_partial_update=True corrupting discriminated unions (#876).
  • Fix Secret subclasses crashing when loaded from the environment (#920).
  • Fix enum names not parsing through nested annotations such as Optional[Annotated[MyEnum, ...]] with env_parse_enums=True (#910).
  • An empty yaml_config_section now falls back to defaults instead of raising AttributeError: 'NoneType' object has no attribute 'keys' (#914).
  • NestedSecretsSettingsSource no longer follows symlinks pointing outside secrets_dir (#889).
  • GCP: skip the list_secrets call when case_sensitive=True (#862), lowering the required IAM permissions to just roles/secretmanager.secretAccessor.
  • AWS: types-boto3[secretsmanager] is no longer required at runtime (#880).

Documentation

  • Document JSON parsing of complex env values, plus a comma-separated-values recipe (#919).
  • Recommend an async settings loading pattern (#908).
  • Clarify behavior when an unprefixed value is present in a dotenv file (#895).
  • Clarify environment variable helper descriptions (#867) and fix assorted typos (#904).

What's Changed

... (truncated)

Commits
  • f725ca1 Prepare release 2.15.0 (#930)
  • 28f35c2 Bump the python-packages group with 4 updates (#929)
  • 9056db0 test: move function-local imports to the top of test modules (#927)
  • f077e3a fix: raise ValidationError for non-JSON env values on strict fields (#926)
  • ae25d70 fix: treat Secret subclasses as non-complex fields (#716) (#920)
  • 798dcea Bump the python-packages group with 4 updates (#924)
  • a190041 Bump the github-actions group with 4 updates (#925)
  • 5d93332 Bump the python-packages group with 4 updates (#921)
  • d2fdeda fix: read secret files as UTF-8 instead of the locale encoding (#917)
  • 2256a4e Bump the python-packages group with 3 updates (#915)
  • Additional commits viewable in compare view

Updates typer from 0.27.0 to 0.27.1

Release notes

Sourced from typer's releases.

0.27.1

Features

  • ✨ Make epilog formatting consistent with other parts of the help string. PR #1405 by @​svlandeg.

Docs

Internal

Changelog

Sourced from typer's changelog.

0.27.1 (2026-08-03)

Features

  • ✨ Make epilog formatting consistent with other parts of the help string. PR #1405 by @​svlandeg.

Docs

Internal

Commits
  • fe2aa0e 🔖 Release version 0.27.1 (#1919)
  • 680dc99 📝 Update release notes
  • ac3efd5 ✨ Make epilog formatting consistent with other parts of the help string (#1...
  • 32d80ef 📝 Update release notes
  • 10cb3c9 ⬆️ Upgrade latest-changes to 0.7.1 (#1909)
  • ac329a0 📝 Update release notes
  • c37ae2f 📝 Add Library Skills documentation (#1906)
  • 0974a7e 📝 Update release notes
  • 951178c 🐛 Prevent scroll-to-top on restart/fast buttons in the documentation (#1904)
  • 9051baa 📝 Update release notes
  • Additional commits viewable in compare view

Updates faiss-cpu from 1.14.3 to 1.15.0

Release notes

Sourced from faiss-cpu's releases.

v1.15.0

[1.15.0] - 2026-07-31

Full changelog

Added

  • 4332ceb99492e3ba4ce09aada9bd9e48dc4e2f0b Enable byte-LUT gather path for QT_8bit_eden distance computation (#5498)
  • 41133fde4222a8862650601d85f9af684314ebc8 Add EDEN quantizer indexes (#5278)
  • 3110fd242458bf1458507d9d281847543e3b4d92 Add MetalIndexIVFPQ with product quantization and residual encoding support (#5288)
  • 6c2b68775a21a24870f7fd10788ebc4ec0582650 Adding cuVS IVF-SQ backend (#5306)
  • 4d778bc595917de51a0e76de8351984b8bd8203f Add multi-GPU CAGRA → HNSW build with trainAllNeighbors and multi-GPU optimize (#5282)
  • 42dc2862c293b7c7f788be686cf6c9ac93abf6cf Implement memory-mapped I/O for Flat and static Vamana SVS indices (#5271)
  • d22107beca7a6db4ff146700b19d507e52b595b1 feat(riscv): Add RISC-V RVV rabitq kernels (#5369)
  • df51012a606bc352058e95fe58d45b348ffb201a feat(riscv): Add RISC-V RVV vector distance kernels (#5354)
  • 3b52da37c40973d4816ff7d2a4e3fb9f74379988 Add AVX2 and AVX512 byte-domain kernels for QT_8bit_direct_signed (#5409)
  • 88b6c47cf514d3bee7d1995c09a39234fa89d8f9 Implement IVFRaBitQ FastScan conversion constructor (#5422)
  • d24cc844d2cabce819cda806217b243177293e09 Implement GPU IVF add_preassigned via add_core (implement #3908) (#5372)
  • 5826578a7e8f3f9e45bdb74df0c504c242dfdba0 Read/Write support for IndexHNSW base class (#5305)
  • a3350f6641f85d1e2d08fa191863bde6be470df9 faiss: support METRIC_L1 and extra metrics in IndexFlat range_search (#5391)
  • 432e8b4248c2778b5023d5e2ac15b264ec120d02 Extend DistanceComputer batching to PQ, SQ, and PreTransform (#5309)
  • 7d4bb39f7eb3e9bb4d160aa38ec821ee1a407afc Extract super_kmeans_assign_iteration as a shared public SuperKMeans kernel (#5443)
  • aff8589c9e1c2d6ee6a0de615aa719a9a4fd6e86 c_api: expose ScalarQuantizer codec and complete FaissQuantizerType enum (#5477)
  • 13aa39b7916824bc09ca6af7b5e241c2cba68f6d Clone index support for HadamardRotation (#5475)
  • 3e313e4c496b6a042b71193fe0bd9dd713efc7a2 SIMDConfig::has_dynamic_dispatch() (#5460)
  • a6f97750aeaf760c72d0526c3a346513823c4a0c Add faiss-gpu-cuvs pip wheel packaging (#5250)
  • 6227323ffd0341679299ba9a8e71cac1e15674ee pyfaiss_gpu_cuvs_2602: cuVS faiss Python for aarch64/GH200 (26.02, CUDA 12.4)
  • 522644cb2b7a29737fe669b263eccb946217dc93 Stand up parallel cuVS 26.02 IVF-PQ targets (rmm/raft/cuvs) at CUDA 12.8 (#5414)
  • edebabf90fe79829ede6eaa02f3d9a78d3008a5b Include Python type stubs (init.pyi, py.typed) in conda packages (#5394)
  • 9579d8f0a4dbc91bd7ce195ef0aceb937c89159e Add type stubs for SVS index classes + IndexIVFFlatPanorama.batch_size (#5489)
  • fd7be0cfb0c8cee0d475bb6285ad996a87ebf917 Add QT_0bit and QT_2bit_tq..QT_5bit_tq to ScalarQuantizer pyi stub (#5323)
  • ccecc847db5e1d20e929cf8df4a8ddb654769890 Add ClusteringInitMethod enum constants to init.pyi stub (#5324)
  • 55990eb91f9042d811a76d72e43f9ca126d77beb Port test_rabitq_utils from C++ to Python (#5442)

Changed

  • 0236390f2fd8e63ff5e4c6d4ca981b7ba032cd17 Optimize RaBitQ fastscan query setup + 80% qps (#5396)
  • b1d61c3b883fb82063e024979404dd6ebe134eca Fuse RaBitQ AND-dot and popcount scan (#5412)
  • 81031a97892896ca9167e5203e27420de4617e67 RaBitQ fastscan avx512 lut quant (#5397)
  • b7f2b0f1fd8d62e902bdcdcb9ae9694a6fd8f792 RaBitQ SIMD-optimized bit-plane operation (#5392)
  • 0a27700e05429e60221b0eccbf50c4a79ad2e450 Reuse RaBitQ IVF scanner distance computer (#5390)
  • a3d59f0999c69015eeff54fdde3e0d051798179e faiss DD: use 256-bit fast-scan QBS kernel on AMD Zen 4 (split AVX-512) (#5488)
  • c374dd917b75c8b1fef56e487d26e18d3aae5605 Panorama HNSW Optimizations (~x1.2) (#5190)
  • cb9a72ac03f4e7f7d563e3e54ab4e86b8ce1af12 Reuse the HNSW visited table across searches instead of reallocating per call (#5448)
  • 4d1657471f8590ccadf5c2f37d6b58999b8010ec Raise HNSW visited-table hash-set threshold from 500k to 10M (#5446)
  • a4b4c0f2de14d30719e0750e40922e47517eaa80 Optimize exhaustive_L2sqr_blas_cmax with AVX-512 intrinsics. (#4569)
  • 4a2f7e63280ec095bb16dbf0d8e837b2ab79c27f Optimize the DistanceComputerByte::compute_code_distance with AVX512F, AVX512BW, AVX512VL instructions (#5067)
  • 9a74c6d3d14ccf02157782c8f47205765fad63d9 Speed up Top1 and Reservoir add_results with AVX2/AVX512 (#5297)
  • 4030faae3d5b2c67a5931a637a1e77e2ceee9e1e Speed up polysemous training with AVX-512.
  • ea107641d4ccc350e9c3eebaffcada74b586d801 Parallelize inverted-list append loop in IndexIVFPQ::add_core_o (#5382)
  • cf045707c5342cf670b9e1176d47337b05fa0b6e ProductQuantizer::search_sdc: hoist per-subquantizer row pointers out of database-vector loop (#5338)
  • caf88fca98d6693366642cbb7d9b8df27dcb91ce Improve ranklist intersection size (#5237)

... (truncated)

Changelog

Sourced from faiss-cpu's changelog.

[1.15.0] - 2026-07-31

Added

  • 4332ceb99492e3ba4ce09aada9bd9e48dc4e2f0b Enable byte-LUT gather path for QT_8bit_eden distance computation (#5498)
  • 41133fde4222a8862650601d85f9af684314ebc8 Add EDEN quantizer indexes (#5278)
  • 3110fd242458bf1458507d9d281847543e3b4d92 Add MetalIndexIVFPQ with product quantization and residual encoding support (#5288)
  • 6c2b68775a21a24870f7fd10788ebc4ec0582650 Adding cuVS IVF-SQ backend (#5306)
  • 4d778bc595917de51a0e76de8351984b8bd8203f Add multi-GPU CAGRA → HNSW build with trainAllNeighbors and multi-GPU optimize (#5282)
  • 42dc2862c293b7c7f788be686cf6c9ac93abf6cf Implement memory-mapped I/O for Flat and static Vamana SVS indices (#5271)
  • d22107beca7a6db4ff146700b19d507e52b595b1 feat(riscv): Add RISC-V RVV rabitq kernels (#5369)
  • df51012a606bc352058e95fe58d45b348ffb201a feat(riscv): Add RISC-V RVV vector distance kernels (#5354)
  • 3b52da37c40973d4816ff7d2a4e3fb9f74379988 Add AVX2 and AVX512 byte-domain kernels for QT_8bit_direct_signed (#5409)
  • 88b6c47cf514d3bee7d1995c09a39234fa89d8f9 Implement IVFRaBitQ FastScan conversion constructor (#5422)
  • d24cc844d2cabce819cda806217b243177293e09 Implement GPU IVF add_preassigned via add_core (implement #3908) (#5372)
  • 5826578a7e8f3f9e45bdb74df0c504c242dfdba0 Read/Write support for IndexHNSW base class (#5305)
  • a3350f6641f85d1e2d08fa191863bde6be470df9 faiss: support METRIC_L1 and extra metrics in IndexFlat range_search (#5391)
  • 432e8b4248c2778b5023d5e2ac15b264ec120d02 Extend DistanceComputer batching to PQ, SQ, and PreTransform (#5309)
  • 7d4bb39f7eb3e9bb4d160aa38ec821ee1a407afc Extract super_kmeans_assign_iteration as a shared public SuperKMeans kernel (#5443)
  • aff8589c9e1c2d6ee6a0de615aa719a9a4fd6e86 c_api: expose ScalarQuantizer codec and complete FaissQuantizerType enum (#5477)
  • 13aa39b7916824bc09ca6af7b5e241c2cba68f6d Clone index support for HadamardRotation (#5475)
  • 3e313e4c496b6a042b71193fe0bd9dd713efc7a2 SIMDConfig::has_dynamic_dispatch() (#5460)
  • a6f97750aeaf760c72d0526c3a346513823c4a0c Add faiss-gpu-cuvs pip wheel packaging (#5250)
  • 6227323ffd0341679299ba9a8e71cac1e15674ee pyfaiss_gpu_cuvs_2602: cuVS faiss Python for aarch64/GH200 (26.02, CUDA 12.4)
  • 522644cb2b7a29737fe669b263eccb946217dc93 Stand up parallel cuVS 26.02 IVF-PQ targets (rmm/raft/cuvs) at CUDA 12.8 (#5414)
  • edebabf90fe79829ede6eaa02f3d9a78d3008a5b Include Python type stubs (init.pyi, py.typed) in conda packages (#5394)
  • 9579d8f0a4dbc91bd7ce195ef0aceb937c89159e Add type stubs for SVS index classes + IndexIVFFlatPanorama.batch_size (#5489)
  • fd7be0cfb0c8cee0d475bb6285ad996a87ebf917 Add QT_0bit and QT_2bit_tq..QT_5bit_tq to ScalarQuantizer pyi stub (#5323)
  • ccecc847db5e1d20e929cf8df4a8ddb654769890 Add ClusteringInitMethod enum constants to init.pyi stub (#5324)
  • 55990eb91f9042d811a76d72e43f9ca126d77beb Port test_rabitq_utils from C++ to Python (#5442)

Changed

  • 0236390f2fd8e63ff5e4c6d4ca981b7ba032cd17 Optimize RaBitQ fastscan query setup + 80% qps (#5396)
  • b1d61c3b883fb82063e024979404dd6ebe134eca Fuse RaBitQ AND-dot and popcount scan (#5412)
  • 81031a97892896ca9167e5203e27420de4617e67 RaBitQ fastscan avx512 lut quant (#5397)
  • b7f2b0f1fd8d62e902bdcdcb9ae9694a6fd8f792 RaBitQ SIMD-optimized bit-plane operation (#5392)
  • 0a27700e05429e60221b0eccbf50c4a79ad2e450 Reuse RaBitQ IVF scanner distance computer (#5390)
  • a3d59f0999c69015eeff54fdde3e0d051798179e faiss DD: use 256-bit fast-scan QBS kernel on AMD Zen 4 (split AVX-512) (#5488)
  • c374dd917b75c8b1fef56e487d26e18d3aae5605 Panorama HNSW Optimizations (~x1.2) (#5190)
  • cb9a72ac03f4e7f7d563e3e54ab4e86b8ce1af12 Reuse the HNSW visited table across searches instead of reallocating per call (#5448)
  • 4d1657471f8590ccadf5c2f37d6b58999b8010ec Raise HNSW visited-table hash-set threshold from 500k to 10M (#5446)
  • a4b4c0f2de14d30719e0750e40922e47517eaa80 Optimize exhaustive_L2sqr_blas_cmax with AVX-512 intrinsics. (#4569)
  • 4a2f7e63280ec095bb16dbf0d8e837b2ab79c27f Optimize the DistanceComputerByte::compute_code_distance with AVX512F, AVX512BW, AVX512VL instructions (#5067)
  • 9a74c6d3d14ccf02157782c8f47205765fad63d9 Speed up Top1 and Reservoir add_results with AVX2/AVX512 (#5297)
  • 4030faae3d5b2c67a5931a637a1e77e2ceee9e1e Speed up polysemous training with AVX-512.
  • ea107641d4ccc350e9c3eebaffcada74b586d801 Parallelize inverted-list append loop in IndexIVFPQ::add_core_o (#5382)
  • cf045707c5342cf670b9e1176d47337b05fa0b6e ProductQuantizer::search_sdc: hoist per-subquantizer row pointers out of database-vector loop (#5338)
  • caf88fca98d6693366642cbb7d9b8df27dcb91ce Improve ranklist intersection size (#5237)
  • 5c1afeed9666448708c8a036136a8a8bdf8827e1 Remove dead code in quantize_ex_bits to avoid wasted compute (#5384)
  • e3dd6a85f3125d3338b2a5918e007230927c929f Remove unused fields in various DistanceComputers (#5318)
  • 35c5495b8fa8fcab4b8b476d6a6efde67d3a0e85 Remove confusing double-negative throw-macro conditions (#5471)

... (truncated)

Commits
  • 20f14b3 Increment to next release, v1.15.0 (#5494)
  • 4332ceb Enable byte-LUT gather path for QT_8bit_eden distance computation (#5498)
  • 6187d94 clang-diagnostic-unused-parameter in GpuCloner.cpp (#5480)
  • 37313e7 Fix two memory leaks in shard_ivf_index_centroids (#5495)
  • 7a4e797 Fix RaBitQ fast scan aux offsets for large bbs (#5421)
  • b1d61c3 Fuse RaBitQ AND-dot and popcount scan (#5412)
  • 9579d8f Add type stubs for SVS index classes + IndexIVFFlatPanorama.batch_size (#5489)
  • a3d59f0 faiss DD: use 256-bit fast-scan QBS kernel on AMD Zen 4 (split AVX-512) (#5488)
  • 4d74915 Bound lattice_nbit loop in IndexLattice ctor to fix deserialization timeout (...
  • a032797 faiss DD: SQ AVX-512 falls back to AVX2 when d%16!=0 (#5478)
  • Additional commits viewable in compare view

Updates filelock from 3.32.2 to 3.32.3

Release notes

Sourced from filelock's releases.

3.32.3

What's Changed

Full Changelog: tox-dev/filelock@3.32.2...3.32.3

Changelog

Sourced from filelock's changelog.

########### Changelog ###########

.. towncrier-draft-entries:: Unreleased

.. towncrier release notes start


3.32.4 (2026-08-23)


  • StrictSoftFileLock always retries a claim read whose first attempt reports the claim as pending, so a first read that itself outlasts the retry grace no longer fails closed on a claim it could have read. :pr:705
  • WindowsFileLock waits out a transient STATUS_ACCESS_DENIED from NtCreateFile for up to half a second before raising PermissionError, since a peer unlinking the lock file as it releases can answer that for a moment; a real denial still fails fast. :pr:705
  • Every lock class now escapes the hostname it publishes, so a host whose socket.gethostname() carries a space, a newline or a byte outside UTF-8 no longer writes a marker it reads back as malformed. Such a host used to lose a held SoftReadWriteLock read slot to a peer and could not take a write slot or a StrictSoftFileLock at all. :pr:709

3.32.3 (2026-08-13)


  • The fork-safety audit hook no longer prints Exception ignored in audit hook with a TypeError when an audit event fires during interpreter shutdown, after CPython has already cleared the module globals. :pr:701

3.32.2 (2026-07-29)


  • A SoftReadWriteLock or SoftFileLease acquire whose heartbeat thread fails to start now unlinks its marker and hands the claim back, instead of leaving an unrefreshed marker a peer takes while the caller believes it still holds the lock. :pr:691

3.32.1 (2026-07-26)


  • Canceling an AsyncSoftReadWriteLock acquire now releases the claim instead of leaking a marker whose heartbeat wedges every contender. :pr:686

3.32.0 (2026-07-21)


  • SoftReadWriteLock closes the directory handle it opens to scan for readers as soon as a scan stops early, rather than holding it until the generator is collected. :pr:685
  • Declare support for Python 3.15 and run the test suite against it and its free-threaded build, both currently in beta. :pr:683

... (truncated)

Commits
  • 4aa742c Release 3.32.3
  • fb5ab3e 🐛 fix(fork): survive audit events during interpreter shutdown (#703)
  • 35f759c 📄 docs: publish llms.txt from the docs build (#700)
  • 4b6e966 [pre-commit.ci] pre-commit autoupdate (#699)
  • 0e0f666 build(deps): bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 (#698)
  • 6689d82 🧪 test(strict): deflake close-fault injections on graalpy (#697)
  • df67bf7 [pre-commit.ci] pre-commit autoupdate (#696)
  • See full diff in compare view

Updates sentence-transformers from 5.6.1 to 6.0.0

Release notes

Sourced from sentence-transformers's releases.

v6.0.0 - MultiVectorEncoder for ColBERT & late interaction models, transformers v5, float32 scoring, faster training & encoding

This major release introduces Multi-Vector Embedding models, also known as late interaction or ColBERT-style models, as a fourth model type alongside SentenceTransformer, CrossEncoder, and SparseEncoder. Going forward, you'll be able to use Sentence Transformers for training, inferencing, and interpreting Multi-Vector Embedding models.

It also modernizes the dependency floors to transformers v5, fixes a class of silent scoring bugs caused by half precision, and speeds up both training and encoding.

Install this version with

# Training + Inference
pip install sentence-transformers[train]==6.0.0
Inference only, use one of:
pip install sentence-transformers==6.0.0
pip install sentence-transformers[onnx-gpu]==6.0.0
pip install sentence-transformers[onnx]==6.0.0
pip install sentence-transformers[openvino]==6.0.0
Multimodal dependencies (optional):
pip install sentence-transformers[image]==6.0.0
pip install sentence-transformers[audio]==6.0.0
pip install sentence-transformers[video]==6.0.0
Or combine as needed:
pip install sentence-transformers[train,onnx,image]==6.0.0

[!TIP] Our Multi-Vector (Late Interaction) Embedding Models with Sentence Transformers blogpost is an excellent place to learn about multi-vector models: loading the various checkpoint formats, encoding and scoring, plugging them into a search stack, running them on page images, and keeping the index affordable.

[!WARNING] This is a major release with breaking changes. Upgrading from v5.x to v6.0 may require code updates. The changes marked 🚨 below are the ones most likely to affect you, and the Migration Guide has the full list. If you run into issues when upgrading, feel free to open an issue.

MultiVectorEncoder: ColBERT-style late interaction models (#3794)

Sentence Transformers v6.0 introduces MultiVectorEncoder, for ColBERT-style late interaction retrieval. Where a regular embedding model compresses a whole text into one vector, a multi-vector model keeps one vector per token and scores query against document with the MaxSim operator. That preserves token-level matching information that a single vector has to average away, which usually means stronger retrieval at the cost of a bigger index. It is also the state of the art for visual document retrieval, where a text query is matched against page images directly, with no OCR step in between.

Any PyLate checkpoint and any Stanford-NLP ColBERT checkpoint loads straight into it, and colpali-engine models for visual document retrieval work too, through the same familiar API you already use for dense, sparse, and reranker models.

from sentence_transformers import MultiVectorEncoder
Download from the 🤗 Hub
model = MultiVectorEncoder("lightonai/LateOn")
query_embeddings = model.encode_query(["Which planet is known as the Red Planet?"])
document_embeddings = model.encode_document([
"Venus is often called Earth's twin because of its similar size and proximity.",
"Mars, known for its reddish appearance, is often referred to as the Red Planet.",
"Jupiter, the largest planet in our solar system, has a prominent red spot.",
"Saturn, famous for its rings, is sometimes mistaken for the Red Planet.",
</tr></table>

... (truncated)

Commits
  • 56c9548 [docs] Remove revision from EVIE now that it's integrated (#3951)
  • aa791eb Release v6.0.0
  • 8b332d1 tests: Fix the pretrained MultiVectorEncoder tests for device tensors and Hub...
  • a03cfd6 docs: Point cross-references at their documented targets (#3947)
  • 310ed7b docs: Rank the pretrained MultiVectorEncoder models by NanoBEIR and NanoViDoR...
  • 345c538 Speed up multi-vector padding and numpy to tensor conversion (#3942)
  • 8d62fa2 [v6] Return tensors on the model device from MultiVectorEncoder encoding (#...
  • 8a73e35 [v6] Keep the prompt-excluded mask out of the feature dicts (#3944)
  • c8d2c0c [v6] Extend the merged column forward to the SentenceTransformer losses (#3...
  • adc09fc [v6] Fix XTR input validation, padding masks, and integer embedding support...
  • Additional commits viewable in compare view

Updates numpy from 2.5.1 to 2.5.2

Release notes

Sourced from numpy's releases.

v2.5.2 (Aug 9, 2026)

NumPy 2.5.2 Release Notes

The NumPy 2.5.2 is a patch release that fixes bugs discovered after the 2.5.1 release. The big news is that it includes wheels for the newly released Python 3.15.0rc1.

This release supports Python versions 3.12-3.15

C API changes

PyArray_StringDTypeObject is opaque under the abi3t stable ABI

The PyArray_StringDTypeObject was accidentally exposed in NumPy 2.5 when targeting the free-threading-compatible stable ABI (Py_TARGET_ABI3T). PyArray_StringDTypeObject is now an opaque struct: extensions compiled that way cannot access its fields, since the struct layout depends on the size of the object header. Any code that accessed PyArray_StringDTypeObject fields in an abi3t build would have crashed, so we are making this API change in a bugfix release.

The NpyString allocator API remains usable by passing the descriptor object pointer, e.g. NpyString_acquire_allocator((PyArray_StringDTypeObject *)descr).

(gh-31771)

Contributors

A total of 16 people contributed to this release. People with a "+" by their names contributed a patch for the first time.

  • Abhijeetsingh Meena +
  • Charalampos Stratakis
  • Charles Harris
  • Chris Ninham +
  • David Woods
  • Geonho +
  • Gopu Yeshwanth Reddy +
  • Iason Krommydas
  • Ijtihed Kilani
  • Jelle Zijlstra +
  • Joren Hammudoglu
  • Kumar Aditya
  • Mike Boyle
  • Nathan Goldbaum
  • Raghuveer Devulapalli
  • Sebastian Berg

... (truncated)

Commits
  • 48fecee REL: Prepare for the NumPy 2.5.2 release (#32226)
  • ecf599c Merge pull request #32221 from charris/backport-32151
  • 3c7ac97 Merge pull request #32220 from charris/backport-32205
  • 23b30f4 BUG: avoid segfaults when legacy copyswap slot is not defined (#32151)
  • 4964ca8 TYP: isclose shape-typing fix for 2d array-likes (#32205)
  • c37ed94 MAINT: Skip limited_api tests on some platforms. (#32214)
  • 5cfd73b Merge pull request #32206 from charris/update-cibuildwheel
  • d8262bc MAINT: Update cibuildwheel to v4.2.0
  • 988d94d Merge pull request #32158 from charris/backport-32133
  • b2e4f97 BUG: avoid possible stack overflow in arraydescr_dealloc (#32133)
  • Additional commits viewable in compare view

Updates packaging from 26.2 to 26.3

Release notes

Sourced from packaging's releases.

26.3

What's Changed

Features

  • Add a public VersionRange API and SpecifierSet.to_range(), representing the versions a specifier set accepts as an interval set that supports intersection, union, difference, complement, set relations, membership tests, and filtering. VersionRange.to_specifier_set() converts a range back to a SpecifierSet where a PEP 440 form exists. (#1267, #1270, #1298)
  • PEP 808: accept Metadata-Version: 2.6. (#1194)
  • Add a limit argument to parse_tag() for compressed tag sets. (#1220)
  • Add a prefer_sdist_predicate argument to Pylock.select() to prefer source distributions over wheels for selected packages. (#1334)
  • Add pure_python_tags() to generate the pure-Python tags for a Python version without touching the running platform. (#1346)
  • Add SpecifierSet.is_subset(), SpecifierSet.is_superset(), and SpecifierSet.is_disjoint(), which compare the versions two specifier sets accept. (#1313)

Behavior adaptations

  • Drop support for Python 3.8; packaging now requires Python 3.9 or later. (#1157)
  • Prefer native linux_* platform tags over manylinux and musllinux tags on Linux. (#160)

Fixes for versions and specifiers

  • Raise InvalidVersion instead of TypeError when Version is given a non-string. (#1319)
  • Raise InvalidVersion for non-string pre-release letters passed to Version.from_parts. (#1241)
  • Fix an AttributeError when hashing internally trimmed versions. (#1242)
  • Fix SpecifierSet.is_unsatisfiable for post-release boundary intersections. (#1257)

Fixes for requirements and markers

  • Make Requirement.__hash__ consistent with __eq__ for trailing-zero-equivalent specifiers (e.g. foo==1.0.0 and foo==1.0.0.0), so equal requirements hash equal and deduplicate in sets and dicts. (#1232)
  • Normalize requested extra names before comparing or hashing requirements. (#644)
  • Preserve a Requirement's specifier prereleases override across a pickle round trip. (#1204)
  • Raise InvalidRequirement instead of InvalidSpecifier when a requirement contains an invalid specifier. (#1332)
  • Clarify the error for post-release prefix wildcards like ==1.0.post1.*. (#1299)
  • Preserve quoting semantics when serializing marker values, so round-tripped markers parse back to the same marker. (#1213)
  • Keep the parentheses of a nested group when serializing markers. (#1316)
  • Normalize extra and dependency_groups values in nested markers at parse time. (#1246, #1310)
  • Raise UndefinedComparison when a set-valued variable like extras is used outside the membership form. (#1265)
  • Raise UndefinedEnvironmentName (a KeyError subclass) for missing environment keys during marker evaluation. (#1276)
  • Wrap malformed string literal errors in InvalidMarker / InvalidRequirement instead of leaking a low-level error. (#1249)
  • Reject requirements and markers with a trailing line break. (#1345)

Fixes for metadata and licenses

  • Collect all from_email validation errors into one ExceptionGroup instead of raising the first. (#1268)
  • Accept the UTF-8 charset case-insensitively in email payloads. (#1330)
  • Reject malformed Description-Content-Type values. (#1329)
  • Don't rewrite user values that contain {field} placeholders in error messages. (#1327)
  • Route multipart email payloads to unparsed instead of asserting. (#1247)
  • Make InvalidMetadata and CyclicDependencyGroup picklable. (#1328)
  • Fold every line boundary str.splitlines recognizes when writing a header with RFC822Message. (#1356)

... (truncated)

Changelog

Sourced from packaging's changelog.

26.3 - 2026-08-03


Features:
  • Add a public :class:~packaging.ranges.VersionRange API and
    :meth:SpecifierSet.to_range() &lt;packaging.specifiers.SpecifierSet.to_range&gt;,
    representing the versions a specifier set accepts as an interval set that
    supports intersection, union, difference, complement, set relations,
    membership tests, and filtering.
    :meth:~packaging.ranges.VersionRange.to_specifier_set converts a range back
    to a :class:~packaging.specifiers.SpecifierSet where a PEP 440 form exists.
    (:pull:1267, :pull:1270, :pull:1298)
  • PEP 808: accept Metadata-Version: 2.6. (:pull:1194)
  • Add a limit argument to parse_tag() for compressed tag sets.
    (:issue:1220)
  • Add a prefer_sdist_predicate argument to Pylock.select() to prefer
    source distributions over wheels for selected packages. (:pull:1334)
  • Add :func:~packaging.tags.pure_python_tags to generate the pure-Python
    tags for a Python version without touching the running platform.
    (:pull:1346)
  • Add :meth:SpecifierSet.is_subset() &lt;packaging.specifiers.SpecifierSet.is_subset&gt;, :meth:~packaging.specifiers.SpecifierSet.is_superset,
    and :meth:~packaging.specifiers.SpecifierSet.is_disjoint, which compare the
    versions two specifier sets accept. (:pull:1313)

Behavior adaptations:

  • Drop support for Python 3.8; packaging now requires Python 3.9 or later.
    (:pull:1157)
  • Prefer native linux_* platform tags over manylinux and musllinux
    tags on Linux. (:issue:160)

Fixes for versions and specifiers:

  • Raise InvalidVersion instead of TypeError when Version is given a
    non-string. (:pull:1319)
  • Raise InvalidVersion for non-string pre-release letters passed to
    Version.from_parts. (:pull:1241)
  • F...

    Description has been truncated

…dates

Bumps the python-deps group with 11 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.14.2` | `2.15.0` |
| [typer](https://github.com/fastapi/typer) | `0.27.0` | `0.27.1` |
| [faiss-cpu](https://github.com/facebookresearch/faiss) | `1.14.3` | `1.15.0` |
| [filelock](https://github.com/tox-dev/py-filelock) | `3.32.2` | `3.32.3` |
| [sentence-transformers](https://github.com/huggingface/sentence-transformers) | `5.6.1` | `6.0.0` |
| [numpy](https://github.com/numpy/numpy) | `2.5.1` | `2.5.2` |
| [packaging](https://github.com/pypa/packaging) | `26.2` | `26.3` |
| [mypy](https://github.com/python/mypy) | `2.3.0` | `2.3.1` |
| [ruff](https://github.com/astral-sh/ruff) | `0.16.1` | `0.16.4` |
| [hatchling](https://github.com/pypa/hatch) | `1.27.0` | `1.32.0` |
| [pip-audit](https://github.com/pypa/pip-audit) | `2.9.0` | `2.10.1` |



Updates `pydantic-settings` from 2.14.2 to 2.15.0
- [Release notes](https://github.com/pydantic/pydantic-settings/releases)
- [Commits](pydantic/pydantic-settings@v2.14.2...v2.15.0)

Updates `typer` from 0.27.0 to 0.27.1
- [Release notes](https://github.com/fastapi/typer/releases)
- [Changelog](https://github.com/fastapi/typer/blob/master/docs/release-notes.md)
- [Commits](fastapi/typer@0.27.0...0.27.1)

Updates `faiss-cpu` from 1.14.3 to 1.15.0
- [Release notes](https://github.com/facebookresearch/faiss/releases)
- [Changelog](https://github.com/facebookresearch/faiss/blob/main/CHANGELOG.md)
- [Commits](facebookresearch/faiss@v1.14.3...v1.15.0)

Updates `filelock` from 3.32.2 to 3.32.3
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](tox-dev/filelock@3.32.2...3.32.3)

Updates `sentence-transformers` from 5.6.1 to 6.0.0
- [Release notes](https://github.com/huggingface/sentence-transformers/releases)
- [Commits](huggingface/sentence-transformers@v5.6.1...v6.0.0)

Updates `numpy` from 2.5.1 to 2.5.2
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](numpy/numpy@v2.5.1...v2.5.2)

Updates `packaging` from 26.2 to 26.3
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](pypa/packaging@26.2...26.3)

Updates `mypy` from 2.3.0 to 2.3.1
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v2.3.0...v2.3.1)

Updates `ruff` from 0.16.1 to 0.16.4
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.16.1...0.16.4)

Updates `hatchling` from 1.27.0 to 1.32.0
- [Release notes](https://github.com/pypa/hatch/releases)
- [Commits](pypa/hatch@hatchling-v1.27.0...hatchling-v1.32.0)

Updates `pip-audit` from 2.9.0 to 2.10.1
- [Release notes](https://github.com/pypa/pip-audit/releases)
- [Changelog](https://github.com/pypa/pip-audit/blob/main/CHANGELOG.md)
- [Commits](pypa/pip-audit@v2.9.0...v2.10.1)

---
updated-dependencies:
- dependency-name: pydantic-settings
  dependency-version: 2.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: typer
  dependency-version: 0.27.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: faiss-cpu
  dependency-version: 1.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: filelock
  dependency-version: 3.32.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: sentence-transformers
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: numpy
  dependency-version: 2.5.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: packaging
  dependency-version: '26.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: mypy
  dependency-version: 2.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: ruff
  dependency-version: 0.16.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: hatchling
  dependency-version: 1.32.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: pip-audit
  dependency-version: 2.10.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Aug 26, 2026
@hseshadr

Copy link
Copy Markdown
Owner

Closing without merge as part of the repository branch cleanup; this repository is returning to a main-only remote branch policy.

@hseshadr hseshadr closed this Aug 30, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 30, 2026

Copy link
Copy Markdown
Contributor Author

This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.

To ignore these dependencies, configure ignore rules in dependabot.yml

@dependabot
dependabot Bot deleted the dependabot/uv/python-deps-19d97add48 branch August 30, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant