Usearch

Latest version: v2.16.6

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

Scan your dependencies

Page 15 of 27

1.1.1

[1.1.1](https://github.com/unum-cloud/usearch/compare/v1.1.0...v1.1.1) (2023-08-07)


Docs

* New sections ([cf2d4b6](https://github.com/unum-cloud/usearch/commit/cf2d4b62774089be1107468cbe0fdf6def391aae))

Improve

* Using cheaper atomics in `Indexes` lookup ([699aae1](https://github.com/unum-cloud/usearch/commit/699aae158181e653fe8e9eaae6ea6b7395a0a655))




Hashes
* Source code (zip) : `a5dfd0044b41f4c0b6529c37f91c4b54874778080bee80c78c03fcbfaeaa02d4`
* Source code (tar.gz) : `0d8ded8462480645e42b0bc453a2fa94bdba1c012484f2f95e60cd4a51acc553`

1.1.0

[1.1.0](https://github.com/unum-cloud/usearch/compare/v1.0.0...v1.1.0) (2023-08-05)


Add

* `remove` and `contains` for JS ([be42532](https://github.com/unum-cloud/usearch/commit/be425325c829d6821329624bb1a582234579fe71))
* `remove` and `contains` in Rust ([dc252fe](https://github.com/unum-cloud/usearch/commit/dc252fe2927d277d3cc7394a3a6b15c18decb2c6))




Hashes
* Source code (zip) : `bb5777d66df84cff474cac5b0a7d6fe286f413adaa6a7cdcd6bec776acaece82`
* Source code (tar.gz) : `c6b7b89f0f36e13eba5fe652cd557cc6b5c55ce7c4fcad06f6737d2135edeffb`

1.0.0

This PR brings the first significant breaking change to USearch.

New Serialization Format and External Storage

From now onwards, the serialized dense index files are prepended by a .bbin matrix containing type-punned vectors.
It makes it easy to debug and check the contents of each index and potentially reconstruct it.
Moreover, this allows us to integrate the underlying index_gt in places like UStore, where the vectors would be stored externally in a separate collection.
Those collections are often stored on disk - in external memory. Random reads can be expensive, so we now allow batch-evaluated metrics to let you prefetch all the relevant vectors simultaneously, resulting in major performance improvements.

Minor Tweaks

- [x] Batch-evaluated metrics for external prefetching.
- [x] Allow swapping the metric from Python at runtime.
- [x] Switching to brute-force search on tiny collections.
- [x] Search results across different bindings now have a simpler form.
- [x] Switching from JavaScript to TypeScript interface.
- [x] Improved Swift bindings to support both slices and arrays.
- [x] Fix memory alignment issues with atypical vector sizes and SIMD loads.

What's next?

- [Pre-built GoLang binary releases](https://github.com/unum-cloud/usearch/issues/177)
- [C bindings in NuGet](https://github.com/unum-cloud/usearch/issues/160)

0.024287939071655273

0.20610713958740234

$ python python/scripts/bench_exact.py --ndim 256 --n 100_000 --q 100 --k 100

0.15354132652282715

---

The script is located at `python/scripts/bench_exact.py` and has a few CLI parameters:

- `--ndim` - number of vector dimensions.
- `--n` - number of vectors in the dataset to search.
- `--q` - number of vectors to query among `n`.
- `--k` - number of closest neighbors to retrieve per query.
- `--half` - use half-precision.

For large `q`, FAISS works quite well - in such cases, it redirects the query to the linked BLAS implementation. But it means it supports only two metrics - L2 and inner product. With USearch exact search, you can still use all the same metrics as with `usearch.index.Index` class and provide custom JIT-ed `CompiledMetric`.

---

Thanks to ebursztein, guyrosin, and vprelovac for suggesting the use case and spotting the issues!
Next step - expose exact search in JS, Rust, and Swift bindings 🎉
Hashes
* docs.tar.gz : `edb8e2a80790e80b75b5d6f869d327643d6bc6bff335561e90bcf6b648ff334e`
* usearch-v2.6.0.tar.gz : `3759c4c1102bc937b322dd9be1ddb372d3d713b6f8a74d475c487ccb9bdd378b`
* usearch-v2.6.0.zip : `66ba82ad76265d19afb061f79982355c1aa665489acc3b02ad68fce13b04e88a`
* usearch_linux_amd_2.6.0.deb : `6edd76af1d54a18da5a14002575fed425325017d5ae6b675f4995efd83b22045`
* usearch_linux_arm_2.6.0.deb : `c16148a391381ecc87dbb038c0e1ad7a5c42728e6f25665aade1584f3e6adb9f`
* usearch_macOS_arm64_2.6.0.zip : `82697239671093d2c43e61682e465e1160cf77bed223cad62a735b81a86e00d9`
* usearch_macOS_x86_64_2.6.0.zip : `3b59742d3725e8153496c511ed966863c0cefb11c38517603f0917f51c5d5861`
* usearch_wasm_linux_arm64_2.6.0.tar.gz : `6fe59c9ec43109c4fa8c20d41c1ea64f86903123c61ac8a2034acc5f8a26dc26`
* usearch_wasm_linux_x86_64_2.6.0.tar.gz : `1e266401ce200490437493a54d9bd4cc522346305667c14ce84a21c28f8ae8ca`
* usearch_wasm_macos_arm64_2.6.0.zip : `a10bd9a94925cc26a16fcaf9198e1277b3aa978b5248a21c732b9f5e1cbacb31`
* usearch_wasm_macos_x86_64_2.6.0.zip : `7dc81152a16c59ddabd3304e00f76cce2c43413447cf38aeb4b187af4c9f7c75`
* usearch_wasm_windows_x64_2.6.0.tar.gz : `6a6b701077d47830b26063005452369b9386a8f3210be7b6b724acce084a546a`
* usearch_wasm_windows_x86_2.6.0.tar.gz : `af01ec3098a58f25d3e80f1747f019d4b705bf908d35f48d3b71aa7294756a9d`
* usearch_windows_x64_2.6.0.tar : `aa3e1a054d6d340d0c967c361d46977513de3d14d3b5f0afaabc01c7add381a0`
* usearch_windows_x86_2.6.0.tar : `412c79eeec7909f33d9325c5bae5d22bcf78332e0b934ff198b5a0a41f552813`

Page 15 of 27

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.