Skip to main content

Smaller & Faster Single-File Vector Search Engine from Unum

Project description

USearch

Smaller & Faster Single-File
Vector Search Engine


Discord     LinkedIn     Twitter     Blog     GitHub

Euclidean • Angular • Jaccard • Hamming • Haversine • User-Defined Metrics
C++11PythonJavaScriptJavaRustC99Objective-CSwiftGoLangWolfram
Linux • MacOS • Windows • Docker • WebAssembly


Comparison with FAISS

FAISS is a widely recognized standard for high-performance vector search engines. USearch and FAISS both employ the same HNSW algorithm, but they differ significantly in their design principles. USearch is compact and broadly compatible without sacrificing performance, with a primary focus on user-defined metrics and fewer dependencies.

FAISS USearch
Implementation 84 K SLOC in faiss/ 3 K SLOC in usearch/
Supported metrics 9 fixed metrics Any User-Defined metrics
Supported ID types uint32_t, uint64_t uint32_t, uint40_t, uint64_t
Dependencies BLAS, OpenMP None
Bindings SWIG Native
Acceleration Learned Quantization Downcasting

Base functionality is identical to FAISS, and the interface must be familiar if you have ever investigated Approximate Nearest Neigbors search:

$ pip install usearch numpy

import numpy as np
from usearch.index import Index

index = Index(
    ndim=3, # Define the number of dimensions in input vectors
    metric='cos', # Choose 'l2sq', 'haversine' or other metric, default = 'ip'
    dtype='f32', # Quantize to 'f16' or 'f8' if needed, default = 'f32'
    connectivity=16, # Optional: How frequent should the connections in the graph be
    expansion_add=128, # Optional: Control the recall of indexing
    expansion_search=64, # Optional: Control the quality of search
)

vector = np.array([0.2, 0.6, 0.4])
index.add(42, vector)
matches, distances, count = index.search(vector, 10)

assert len(index) == 1
assert count == 1
assert matches[0] == 42
assert distances[0] <= 0.001
assert np.allclose(index[42], vector)

User-Defined Functions

While most vector search packages concentrate on just a couple of metrics - "Inner Product distance" and "Euclidean distance," USearch extends this list to include any user-defined metrics. This flexibility allows you to customize your search for a myriad of applications, from computing geo-spatial coordinates with the rare Haversine distance to creating custom metrics for composite embeddings from multiple AI models.

USearch: Vector Search Approaches

Unlike older approaches indexing high-dimensional spaces, like KD-Trees and Locality Sensitive Hashing, HNSW doesn't require vectors to be identical in length. They only have to be comparable. So you can apply it in obscure applications, like searching for similar sets or fuzzy text matching, using GZip as a distance function.

Read more about JIT and UDF in USearch Python SDK.

Memory Efficiency, Downcasting, and Quantization

Training a quantization model and dimension-reduction is a common approach to accelerate vector search. Those, however, are only sometimes reliable, can significantly affect the statistical properties of your data, and require regular adjustments if your distribution shifts.

USearch uint40_t support

Instead, we have focused on high-precision arithmetic over low-precision downcasted vectors. The same index, and add and search operations will automatically down-cast or up-cast between f32_t, f16_t, f64_t, and f8_t representations, even if the hardware doesn't natively support it. Continuing the topic of memory-efficiency, we provide a uint40_t to allow collection with over 4B+ vectors without allocating 8 bytes for every neighbor reference in the proximity graph.

FAISS, f32 USearch, f32 USearch, f16 USearch, f8
Batch Insert 16 K/s 73 K/s 100 K/s 104 K/s +550%
Batch Search 82 K/s 103 K/s 113 K/s 134 K/s +63%
Bulk Insert 76 K/s 105 K/s 115 K/s 202 K/s +165%
Bulk Search 118 K/s 174 K/s 173 K/s 304 K/s +157%
Recall @ 10 99% 99.2% 99.1% 99.2%

Dataset: 1M vectors sample of the Deep1B dataset. Hardware: c7g.metal AWS instance with 64 cores and DDR5 memory. HNSW was configured with identical hyper-parameters: connectivity M=16, expansion @ construction efConstruction=128, and expansion @ search ef=64. Batch size is 256. Both libraries were compiled for the target architecture. Jump to the Performance Tuning section to read about the effects of those hyper-parameters.

Disk-based Indexes

With USearch, you can serve indexes from external memory, enabling you to optimize your server choices for indexing speed and serving costs. This can result in 20x costs reduction on AWS and other public clouds.

index.save("index.usearch")

loaded_copy = index.load("index.usearch")
view = Index.restore("index.usearch", view=True)

other_view = Index(ndim=..., metric=CompiledMetric(...))
other_view.view("index.usearch")

Joins

One of the big questions these days is how will AI change the world of databases and data-management? Most databases are still struggling to implement high-quality fuzzy search, and the only kind of joins they know are deterministic. A join is different from searching for every entry, as it requires a one-to-one mapping, banning collisions among separate search results.

Exact Search Fuzzy Search Semantic Search ?
Exact Join Fuzzy Join ? Semantic Join ??

Using USearch one can implement sub-quadratic complexity approximate, fuzzy, and semantic joins. This can come handy in any fuzzy-matching tasks, common to Database Management Software.

men = Index(...)
women = Index(...)
pairs: dict = men.join(women, max_proposals=0, exact=False)

Read more in post: From Dating to Vector Search - "Stable Marriages" on a Planetary Scale 👩‍❤️‍👨

Functionality

By now, core functionality is supported across all bindings. Broader functionality is ported per request.

C++ Python Java JavaScript Rust GoLang Swift
add/search/remove
save/load/view
join
user-defiend metrics
variable-length vectors
4B+ capacities

Application Examples

USearch + AI = Multi-Modal Semantic Search

AI has a growing number of applications, but one of the coolest classic ideas is to use it for Semantic Search. One can take an encoder model, like the multi-modal UForm, and a web-programming framework, like UCall, and build a text-to-image search platform in just 20 lines of Python.

import ucall
import uform
import usearch

import numpy as np
import PIL as pil

server = ucall.Server()
model = uform.get_model('unum-cloud/uform-vl-multilingual')
index = usearch.index.Index(ndim=256)

@server
def add(label: int, photo: pil.Image.Image):
    image = model.preprocess_image(photo)
    vector = model.encode_image(image).detach().numpy()
    index.add(label, vector.flatten(), copy=True)

@server
def search(query: str) -> np.ndarray:
    tokens = model.preprocess_text(query)
    vector = model.encode_text(tokens).detach().numpy()
    matches = index.search(vector.flatten(), 3)
    return matches.labels

server.run()

We have pre-processed some commonly used datasets, cleaning the images, producing the vectors, and pre-building the index.

Dataset Modalities Images Download
Unsplash 25K Images & Descriptions 25 K HuggingFace / Unum
Conceptual Captions 3M Images & Descriptions 3 M HuggingFace / Unum
Arxiv 2M Titles & Abstracts 2 M HuggingFace / Unum

USearch + RDKit = Molecular Search

Comparing molecule graphs and searching for similar structures is expensive and slow. It can be seen as a special case of the NP-Complete Subgraph Isomorphism problem. Luckily, domain-specific approximate methods exists. The one commonly used in Chemistry, is to generate structures from SMILES, and later hash them into binary fingerprints. The later are searchable with bitwise similarity metrics, like the Tanimoto coefficient. Below is na example using the RDKit package.

from usearch.index import Index, MetricKind
from rdkit import Chem
from rdkit.Chem import AllChem

import numpy as np

molecules = [Chem.MolFromSmiles('CCOC'), Chem.MolFromSmiles('CCO')]
encoder = AllChem.GetRDKitFPGenerator()

fingerprints = np.vstack([encoder.GetFingerprint(x) for x in molecules])
fingerprints = np.packbits(fingerprints, axis=1)

index = Index(ndim=2048, metric=MetricKind.Tanimoto)
labels = np.arange(len(molecules))

index.add(labels, fingerprints)
matches = index.search(fingerprints, 10)

TODO

  • JavaScript: Allow calling from "worker threads".
  • Rust: Allow passing a custom thread ID.
  • C# .NET bindings.

Integrations

  • GPT-Cache.
  • LangChain.
  • Microsoft Semantic Kernel.
  • PyTorch.

Citations

@software{Vardanian_USearch_2022,
doi = {10.5281/zenodo.7949416},
author = {Vardanian, Ash},
title = {{USearch by Unum Cloud}},
url = {https://github.com/unum-cloud/usearch},
version = {0.13.0},
year = {2022}
month = jun,
}

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

usearch-0.22.2-cp311-cp311-win_amd64.whl (195.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

usearch-0.22.2-cp311-cp311-manylinux_2_28_x86_64.whl (359.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

usearch-0.22.2-cp311-cp311-manylinux_2_28_aarch64.whl (346.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARM64

usearch-0.22.2-cp311-cp311-macosx_11_0_arm64.whl (253.6 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

usearch-0.22.2-cp311-cp311-macosx_10_9_x86_64.whl (264.7 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

usearch-0.22.2-cp311-cp311-macosx_10_9_universal2.whl (491.7 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

usearch-0.22.2-cp310-cp310-win_amd64.whl (194.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

usearch-0.22.2-cp310-cp310-manylinux_2_28_x86_64.whl (358.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

usearch-0.22.2-cp310-cp310-manylinux_2_28_aarch64.whl (345.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARM64

usearch-0.22.2-cp310-cp310-macosx_11_0_arm64.whl (252.6 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

usearch-0.22.2-cp310-cp310-macosx_10_9_x86_64.whl (263.4 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

usearch-0.22.2-cp310-cp310-macosx_10_9_universal2.whl (489.7 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

usearch-0.22.2-cp39-cp39-win_amd64.whl (194.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

usearch-0.22.2-cp39-cp39-manylinux_2_28_x86_64.whl (358.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

usearch-0.22.2-cp39-cp39-manylinux_2_28_aarch64.whl (345.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ARM64

usearch-0.22.2-cp39-cp39-macosx_11_0_arm64.whl (252.8 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

usearch-0.22.2-cp39-cp39-macosx_10_9_x86_64.whl (263.6 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

usearch-0.22.2-cp39-cp39-macosx_10_9_universal2.whl (490.0 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

usearch-0.22.2-cp38-cp38-win_amd64.whl (194.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

usearch-0.22.2-cp38-cp38-manylinux_2_28_x86_64.whl (358.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

usearch-0.22.2-cp38-cp38-manylinux_2_28_aarch64.whl (344.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ARM64

usearch-0.22.2-cp38-cp38-macosx_11_0_arm64.whl (252.5 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

usearch-0.22.2-cp38-cp38-macosx_10_9_x86_64.whl (263.4 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

usearch-0.22.2-cp38-cp38-macosx_10_9_universal2.whl (489.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

usearch-0.22.2-cp37-cp37m-win_amd64.whl (194.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

usearch-0.22.2-cp37-cp37m-manylinux_2_28_x86_64.whl (364.7 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.28+ x86-64

usearch-0.22.2-cp37-cp37m-manylinux_2_28_aarch64.whl (350.0 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.28+ ARM64

usearch-0.22.2-cp37-cp37m-macosx_10_9_x86_64.whl (259.1 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file usearch-0.22.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: usearch-0.22.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 195.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for usearch-0.22.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ca6b25ecc26ee2e4ae7efb992c8518c44fb0680ab8b661f193717bb1927a54f6
MD5 cd82fed4d8af692b653d794f065d44a8
BLAKE2b-256 14bf4f6ffe9ce74b196be81784ec2576d3f463196b4dbecfb2e5c9c3bd25ed0b

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 06308350ea4e61466d3c2e27b01268cf52742a8bfc52fd8de0345c53fe9a7197
MD5 0e585da75882553d253dbc509ae2fce1
BLAKE2b-256 835544a02643bfb5a027cf53842204d220146f792d94a78748609642b17a40e6

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9b9d4345b6c7fd0ec1d47eb851f91cd3dbe02a1f985eefc05c70f3796eac27fe
MD5 b7a6d70b1e5a7ddc95903c4f53d566c2
BLAKE2b-256 bc0640ae70932319e67f118ea434585c130c02db382845ea66ad1fb8645ab29b

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2c50eba85c11d9ad473e776bfe396f76d5d0d5deaf84138a1d7a563abac3912
MD5 61e19026ba2a13c0da340ecc2750665a
BLAKE2b-256 e0767abc812553b8174115615a92d8c35dd2b1689a294d8d609fe5781b76f815

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f03362baaf7f47204e693f768a7562fd3c31c5d5bd978a294fe47fb55d0cb50e
MD5 bf614ae259f96844dd76508ba9471526
BLAKE2b-256 474d138a55c142c9f22bffaea95e46907aa24340bbb74b66177352dbdff56fc2

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7fb31acb06d2a81bedac3c96010a8c4679447996de717a06c8ebab9ad94cc3bf
MD5 a5f8a45a9fc26675b30e03cdfae79461
BLAKE2b-256 bdf30282d998a2a370dceb003f67192ec042dfa5f5f1d230c9c36616c691320f

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: usearch-0.22.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 194.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for usearch-0.22.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c5ade5669e18f10fe62d186109a3fea28b4baed3c9e60f0e9e1e9f4661bad783
MD5 bac6a8cfa9b474a41b5900f7c100b657
BLAKE2b-256 498763dee3f05dbf2b0114b8e954ec94c7b47369dca6c4350495aa271605f5d4

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ffe43f1cc3d7f2d2e14e45725cb48c4d7f428c7316b4589993b195141a7280af
MD5 5c8ae1ecc53cf7d77bd73394de2ebd00
BLAKE2b-256 227a1549bea6bf7fa95e4f6001e8187b22ac459dabb2eb1c2a8d8b0533e24e88

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6d34c463e914b73dd181c87cc02cccd1bebc4b9fb8a129c88577ae5209c4b44e
MD5 b3075d2eac379d7dd147087c7c1a1ac0
BLAKE2b-256 529431db0f73659bec7adb8204e03abefb904abd915aa00f30300c69ba4ecca1

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 849107e4c4cd148b2c11d286ee1be81d4a9933340e3729d4c80f4b20ee9b00a5
MD5 479a903fbda656ac475f7e0f7a1b94d4
BLAKE2b-256 c61cccb7b76bf9fbaa954a2cd8789e1b6df676bfcb6e1238ff94301aee76520d

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 876e32c893908003b82d3696360bc1f2458a0e929d490d966d2ec16b9b8d056d
MD5 ff66ac446228f36460a3c22eb5afe1bb
BLAKE2b-256 03f6e51d978fcdb6d39458d03e280bc09a3319ae3405d4c628475869cc5cb3d6

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d5afe019c108d3180a0b6dae5edf6f69461545c081af89cc4f2ac6fcfbcc1bac
MD5 0db076577e89d3741a27841ae861d331
BLAKE2b-256 4bd0c4b9e0952bea692d45d7c6c777d32ad0f11e2fc8f0b8a103b17906210caa

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: usearch-0.22.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 194.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for usearch-0.22.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c156072fc3566536358774854be6acd8579ea33126df274dcb7da81424a03a41
MD5 db0650957a48c1f4e81fc8d6088e1373
BLAKE2b-256 7fd92273db43353eea54053e196cd8b6132245b9905d4471f9df875ad5a2a3fc

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a328d45d5e4bc049786b2996c23ffdac91aae48949332a6a5e155e4c32de3f24
MD5 d34cbfedc1b1b7ee39f7c9f8185180b7
BLAKE2b-256 0a6e1bfe3f6eb6f12c9510b30ffc90f4aa575367eb34f18a26ceecdb009a2296

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b5799c42ceaa36b55d8651dfc96663ec7930836f1f620257c5a32950eee3aa24
MD5 6aba062cf110733d3df2d3af90d5354d
BLAKE2b-256 f1bd3238e47bbd66a3ca9f14de07ef6fd21e04766b25e037e046ddc21ad695f0

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c43eab495b328b9bb9ae5ef760330f3787de9a5a0dd328ad4a3fb22918849d7
MD5 d7599b933e5d77ac5b8ea4c1c9adb9f5
BLAKE2b-256 cd093f3485b9ed4cd3211ab63d1248c288efb452811dcfedee2bd86661ef742a

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e7c020c20d3eb9940cc32c81f127828dc01542e2a2f0fb1166d448db673c838e
MD5 23364bcca44ea3d10d0385b4009303aa
BLAKE2b-256 2b0d3faa003a739fe06850a3beae58ed209fab6ffd6d61020fe88b49d8904e0a

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 04e1d4e4834e96b5777a684101721784967c0d1fcbebec30f9e1628a37ff1dfb
MD5 fbe4e80291e9c1faed652dc7805e7c0a
BLAKE2b-256 c2700dfb2151884d0f4bd7d3bfc0ad500eda17613944f8297d34401b71c243c2

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: usearch-0.22.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 194.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for usearch-0.22.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2b801d4bcef32379f71577dfc3f98f9028c449d9cb394793a9d2c122f294b5dc
MD5 9e5fee45ba76d6f9371cbc03edaa2bb0
BLAKE2b-256 7a2343078adbc58055a163daab1214ce94056df0a4d02b0ba04f0981c775bf89

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46314e369518bb875852d4f7280849999eb7267ee98f930ed1efb9dcf9e778f2
MD5 c5fc1a1b1a1a527a661b4080045603e6
BLAKE2b-256 40efa28403309686e576898972fbc5796f21c98ed5ab5620df0838eaea42f1ed

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2ff372f1b121ea305ac491c827db137ce301419a73668b1c35a6efc7515e4e91
MD5 2f905306402d4181082251739fd5f8ab
BLAKE2b-256 33a606ef6dfa5881c46b1d4564e087d157a3644f20c8ddb6cb8b8914d5553510

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd5ba394967f07d8e309c76a0c2c4fefbdf42cbc402e7ac2e38616bfdcf55d7b
MD5 a10fadc423a9a13a59a0f8b5df83af4c
BLAKE2b-256 21046742a4c102cf6cf21d5f45c034a384f2d2e067d850700a23ca8ee4461d32

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 197c9bbd8b92862b35b81599cccd33de7b920ec477d99851aeafbd5ea1c9b43a
MD5 7c870cb4c2a87cb8500fe83c9b8a137a
BLAKE2b-256 6bb25ea8cfd8055207f4e6eaf5c90e19120fd8c09b17efa6cb929533b2ecbd71

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a8617869bb6d8831c6485fd85188e7883348fcb5ee6567db42944bdad304be60
MD5 ce8122156ebea2f81eda78b7191897bd
BLAKE2b-256 7eb22ee132b3690ccb2172d9caaf72a0c657a8c58ae18f0d378e9a523ad03de9

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: usearch-0.22.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 194.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for usearch-0.22.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 eb25929f827b2cf934bebc27784b4b10dd463c152476a37bfda2318ab9b9a79a
MD5 cbc7b3a53facd837ea82527fa7ad3251
BLAKE2b-256 0c2c72c06ef3a2f5675638a0c8aaa06cc06aedbaf324eb16668c30848638eaf6

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp37-cp37m-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b60ff908495ffeb0865207026a8d0349d51dc1d2e7977e809363a234ba277e88
MD5 2476d8e4aaaa05a4cfbc4d3de163f0fb
BLAKE2b-256 ab80ef2850d2cf5842399a1dd8d5da821da7238d9273ceede5afa8eeeae1097a

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp37-cp37m-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp37-cp37m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8235a05d8e29831b1ab7bea0d18c791e156d489b2641f63f7c975fc01bf38da7
MD5 b183b8b4092dc815e2807c9dde43d916
BLAKE2b-256 4cc15a768467b606667941256dc281199e1785b2c5fa18b48bb60380deb9fa65

See more details on using hashes here.

File details

Details for the file usearch-0.22.2-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for usearch-0.22.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5f8d24ebceaddf335ca265cf2919f6da75ba01be6262fc3438c3675313d44a49
MD5 8ebfb9e838d7b7e2fd0a227a033c728d
BLAKE2b-256 b353e8e0291eae5acb9d7059dae4e387e6b7f358a9f7b5ab1a2044766e372bfb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page