Usearch

Latest version: v2.16.6

Safety actively analyzes 688215 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 27

2.16.0

Many data scientists embark on their journey by implementing K-Means clustering, much like app developers starting with a calculator. But despite K-Means’ popularity, most implementations overlook the power of SIMD on modern CPUs. Efficient vector math, especially with single- and double-precision floating-point vectors, is challenging due to the computational cost of accuracy. Meanwhile, `float16`, `bfloat16`, and smaller types can fail under uneven distributions or when computing centroids for large clusters. So, what’s Unum’s solution? **Mixed precision!**

Thanks to strong community support and sponsorship from sutoiku ([LinkedIn](https://www.linkedin.com/company/sutoiku), [Website](https://stoic.com/)), we're introducing a high-performance K-Means implementation! It utilizes any numeric type for distance calculations, switching to `float64` for centroid updates, a technique that boosts performance and enables billion-scale clustering on a single machine.

2.15.3

Hashes
* docs.tar.gz : `423fd002bd83e263c0a9cb2508b5b8c813dfae9f0c26c11321e11f07df1f5bde`
* usearch-v2.15.3.tar.gz : `badb87b82ee5699e1555f55298a265f94edeae03f087bb16ca588f7a43b246c4`
* usearch-v2.15.3.zip : `f3598138b6a8922e3770c4bfb094b91807209157438ce3a535fe11099890b316`
* usearch_linux_amd64_2.15.3.deb : `eb5b4c47f03e35abeba4b9fb2708e6e2c0f63b25acbc876ea25956163609d1a3`
* usearch_linux_amd64_2.15.3.so : `3052c1c37b75e45228bc0f94421c0e5133ad792f99229aa3df875a6836905458`
* usearch_linux_arm64_2.15.3.deb : `4291fb414f4bb2051293b39ae0217c57081b293e1ac7ad9070a7c0be9ff29a1d`
* usearch_linux_arm64_2.15.3.so : `930a7de642bfcc534203a0471f5b1803114de63b64b50d262e3202950c5955bd`
* usearch_macos_arm64_2.15.3.zip : `a9639b285368df8fbac43456cb640ca287757a46a8ef9fa40800d2a2da2e84d7`
* usearch_macos_x86_64_2.15.3.zip : `ee843f82305d2b8192e2488719fe89e5d7fe02d412e1a99cfe57c372f0807c80`
* usearch_sqlite_linux_amd64_2.15.3.so : `281a3414455767fe1925b0a9de0551cce258d4bc9146ea4934179b63d70fa173`
* usearch_sqlite_linux_arm64_2.15.3.so : `05c4ed19aa57ac778d9240c2d31b817adb19788e2d21a6215249b49daf5dea9c`
* usearch_sqlite_macos_arm64_2.15.3.dylib : `f966a1eff9a6032b8c8de0383ab08e619dc0a65e4829386d19b5f7e131604487`
* usearch_sqlite_macos_x86_64_2.15.3.dylib : `19b9c48b02dab0980e4fd482b4008fbfe4c8e7e2da6b719630f51a78b70d7613`
* usearch_wasm_linux_arm64_2.15.3.tar.gz : `7c6735ff24b29962626889632537df40eac6bc57e6d41dff8c22c47b65a07951`
* usearch_wasm_linux_x86_64_2.15.3.tar.gz : `b9137d94a68eed1864e027c37e9089154c3c559b1677ac465cd8dca9918482c0`

2.15.2

Contributors, we are still looking to [improve Android compatibility in Java SDK](https://github.com/unum-cloud/usearch/issues/278), potentially Kotlin bindings, and an extended CI pipeline to ensure consistent behavior. Thank you all for support and help 🤗

2.15.1

What's Changed
* Test: Use `const` instead of `var` in JS by abetomo in https://github.com/unum-cloud/usearch/pull/479
* Make: Rust Windows builds by brkp in https://github.com/unum-cloud/usearch/pull/472
* Docs: Update JavaScript code example by abetomo in https://github.com/unum-cloud/usearch/pull/478
* Mixed Precision Kernels, Windows Builds, and Docs by ashvardanian in https://github.com/unum-cloud/usearch/pull/476

New Contributors
* brkp made their first contribution in https://github.com/unum-cloud/usearch/pull/472

**Full Changelog**: https://github.com/unum-cloud/usearch/compare/v2.15.0...v2.15.1

2.15.0

- [x] Get API for ObjC and Swift 455
- [x] Feature parity between C and GoLang 409
- [x] Swift & Obj-C bindings for `filteredSearch` 471

Thanks to abetomo, sdenton4, brittlewis12, vardhan, and MarkReedZ for help 🤗

2.14.0

Previously, on modern CPUs the USearch index would default to `f16` IEEE 16-bit floating point numbers, when used through high-level bindings, like Python. That format is more common in the Pythonic ecosystem, and it's supported by NumPy. Still, it's much less efficient and harder to convert to/from `f32`. The alternative is to use `bf16`, which is more hardware friendly, and upcast to `f32`, when we need to export the data back to Python. That's the new default behavior.

What's Changed

* Default to `bf16` by ashvardanian in https://github.com/unum-cloud/usearch/pull/465

**Full Changelog**: https://github.com/unum-cloud/usearch/compare/v2.13.5...v2.14.0

Page 2 of 27

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.