Skip to main content

Smaller & Faster Single-File Vector Search Engine from Unum

Project description

USearch

Smaller & Faster Single-File
Similarity Search & Clustering Engine for Vectors & 🔜 Texts


Discord     LinkedIn     Twitter     Blog     GitHub

Spatial • Binary • Probabilistic • User-Defined Metrics
C++ 11Python 3JavaScriptJavaRustC 99Objective-CSwiftC#GoLangWolfram
Linux • MacOS • Windows • iOS • Android • WebAssembly • SQLite3


Technical Insights and related articles:

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, primarily focusing on user-defined metrics and fewer dependencies.

FAISS USearch Improvement
Indexing time ⁰
100 Million 96d f32, f16, i8 vectors 2.6 · 2.6 · 2.6 h 0.3 · 0.2 · 0.2 h 9.6 · 10.4 · 10.7 x
100 Million 1536d f32, f16, i8 vectors 5.0 · 4.1 · 3.8 h 2.1 · 1.1 · 0.8 h 2.3 · 3.6 · 4.4 x
Codebase length ¹ 84 K SLOC 3 K SLOC maintainable
Supported metrics ² 9 fixed metrics any metric extendible
Supported languages ³ C++, Python 10 languages portable
Supported ID types ⁴ 32-bit, 64-bit 32-bit, 40-bit, 64-bit efficient
Filtering ⁵ ban-lists any predicates composable
Required dependencies ⁶ BLAS, OpenMP - light-weight
Bindings ⁷ SWIG Native low-latency
Python binding size ⁸ ~ 10 MB < 1 MB deployable

Tested on Intel Sapphire Rapids, with the simplest inner-product distance, equivalent recall, and memory consumption while also providing far superior search speed. ¹ A shorter codebase of usearch/ over faiss/ makes the project easier to maintain and audit. ² User-defined metrics allow you to customize your search for various applications, from GIS to creating custom metrics for composite embeddings from multiple AI models or hybrid full-text and semantic search. ³ With USearch, you can reuse the same preconstructed index in various programming languages. ⁴ The 40-bit integer allows you to store 4B+ vectors without allocating 8 bytes for every neighbor reference in the proximity graph. ⁵ With USearch the index can be combined with arbitrary external containers, like Bloom filters or third-party databases, to filter out irrelevant keys during index traversal. ⁶ Lack of obligatory dependencies makes USearch much more portable. ⁷ Native bindings introduce lower call latencies than more straightforward approaches. ⁸ Lighter bindings make downloads and deployments faster.

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

# pip install usearch

import numpy as np
from usearch.index import Index

index = Index(ndim=3)               # Default settings for 3D vectors
vector = np.array([0.2, 0.6, 0.4])  # Can be a matrix for batch operations
index.add(42, vector)               # Add one or many vectors in parallel
matches = index.search(vector, 10)  # Find 10 nearest neighbors

assert matches[0].key == 42
assert matches[0].distance <= 0.001
assert np.allclose(index[42], vector, atol=0.1) # Ensure high tolerance in mixed-precision comparisons

More settings are always available, and the API is designed to be as flexible as possible. The default storage/quantization level is hardware-dependant for efficiency, but bf16 is recommended for most modern CPUs.

index = Index(
    ndim=3, # Define the number of dimensions in input vectors
    metric='cos', # Choose 'l2sq', 'ip', 'haversine' or other metric, default = 'cos'
    dtype='bf16', # Store as 'f64', 'f32', 'f16', 'i8', 'b1'..., default = None
    connectivity=16, # Optional: Limit number of neighbors per graph node
    expansion_add=128, # Optional: Control the recall of indexing
    expansion_search=64, # Optional: Control the quality of the search
    multi=False, # Optional: Allow multiple vectors per key, default = False
)

Serialization & Serving Index from Disk

USearch supports multiple forms of serialization:

  • Into a file defined with a path.
  • Into a stream defined with a callback, serializing or reconstructing incrementally.
  • Into a buffer of fixed length or a memory-mapped file that supports random access.

The latter allows you to serve indexes from external memory, enabling you to optimize your server choices for indexing speed and serving costs. This can result in 20x cost 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=...)
other_view.view("index.usearch")

Exact vs. Approximate Search

Approximate search methods, such as HNSW, are predominantly used when an exact brute-force search becomes too resource-intensive. This typically occurs when you have millions of entries in a collection. For smaller collections, we offer a more direct approach with the search method.

from usearch.index import search, MetricKind, Matches, BatchMatches
import numpy as np

# Generate 10'000 random vectors with 1024 dimensions
vectors = np.random.rand(10_000, 1024).astype(np.float32)
vector = np.random.rand(1024).astype(np.float32)

one_in_many: Matches = search(vectors, vector, 50, MetricKind.L2sq, exact=True)
many_in_many: BatchMatches = search(vectors, vectors, 50, MetricKind.L2sq, exact=True)

If you pass the exact=True argument, the system bypasses indexing altogether and performs a brute-force search through the entire dataset using SIMD-optimized similarity metrics from SimSIMD. When compared to FAISS's IndexFlatL2 in Google Colab, USearch may offer up to a 20x performance improvement:

  • faiss.IndexFlatL2: 55.3 ms.
  • usearch.index.search: 2.54 ms.

User-Defined Metrics

While most vector search packages concentrate on just two metrics, "Inner Product distance" and "Euclidean distance", USearch allows arbitrary user-defined metrics. This flexibility allows you to customize your search for various applications, from computing geospatial coordinates with the rare Haversine distance to creating custom metrics for composite embeddings from multiple AI models, like joint image-text embeddings. You can use Numba, Cppyy, or PeachPy to define your custom metric even in Python:

from numba import cfunc, types, carray
from usearch.index import Index, MetricKind, MetricSignature, CompiledMetric

@cfunc(types.float32(types.CPointer(types.float32), types.CPointer(types.float32)))
def python_inner_product(a, b):
    a_array = carray(a, ndim)
    b_array = carray(b, ndim)
    c = 0.0
    for i in range(ndim):
        c += a_array[i] * b_array[i]
    return 1 - c

metric = CompiledMetric(pointer=python_inner_product.address, kind=MetricKind.IP, signature=MetricSignature.ArrayArray)
index = Index(ndim=ndim, metric=metric, dtype=np.float32)

Similar effect is even easier to achieve in C, C++, and Rust interfaces. Moreover, 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 compression-ratio as a distance function.

Filtering and Predicate Functions

Sometimes you may want to cross-reference search-results against some external database or filter them based on some criteria. In most engines, you'd have to manually perform paging requests, successively filtering the results. In USearch you can simply pass a predicate function to the search method, which will be applied directly during graph traversal. In Rust that would look like this:

let is_odd = |key: Key| key % 2 == 1;
let query = vec![0.2, 0.1, 0.2, 0.1, 0.3];
let results = index.filtered_search(&query, 10, is_odd).unwrap();
assert!(
    results.keys.iter().all(|&key| key % 2 == 1),
    "All keys must be odd"
);

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. 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 f64_t, f32_t, f16_t, i8_t, and single-bit b1x8_t representations. You can use the following command to check, if hardware acceleration is enabled:

$ python -c 'from usearch.index import Index; print(Index(ndim=768, metric="cos", dtype="f16").hardware_acceleration)'
> sapphire
$ python -c 'from usearch.index import Index; print(Index(ndim=166, metric="tanimoto").hardware_acceleration)'
> ice

In most cases, it's recommended to use half-precision floating-point numbers on modern hardware. When quantization is enabled, the "get"-like functions won't be able to recover the original data, so you may want to replicate the original vectors elsewhere. When quantizing to i8_t integers, note that it's only valid for cosine-like metrics. As part of the quantization process, the vectors are normalized to unit length and later scaled to [-127, 127] range to occupy the full 8-bit range. When quantizing to b1x8_t single-bit representations, note that it's only valid for binary metrics like Jaccard, Hamming, etc. As part of the quantization process, the scalar components greater than zero are set to true, and the rest to false.

USearch uint40_t support

Using smaller numeric types will save you RAM needed to store the vectors, but you can also compress the neighbors lists forming our proximity graphs. By default, 32-bit uint32_t is used to enumerate those, which is not enough if you need to address over 4 Billion entries. For such cases we provide a custom uint40_t type, that will still be 37.5% more space-efficient than the commonly used 8-byte integers, and will scale up to 1 Trillion entries.

Indexes for Multi-Index Lookups

For larger workloads targeting billions or even trillions of vectors, parallel multi-index lookups become invaluable. Instead of constructing one extensive index, you can build multiple smaller ones and view them together.

from usearch.index import Indexes

multi_index = Indexes(
    indexes: Iterable[usearch.index.Index] = [...],
    paths: Iterable[os.PathLike] = [...],
    view: bool = False,
    threads: int = 0,
)
multi_index.search(...)

Clustering

Once the index is constructed, USearch can perform K-Nearest Neighbors Clustering much faster than standalone clustering libraries, like SciPy, UMap, and tSNE. Same for dimensionality reduction with PCA. Essentially, the Index itself can be seen as a clustering, allowing iterative deepening.

clustering = index.cluster(
    min_count=10, # Optional
    max_count=15, # Optional
    threads=..., # Optional
)

# Get the clusters and their sizes
centroid_keys, sizes = clustering.centroids_popularity

# Use Matplotlib to draw a histogram
clustering.plot_centroids_popularity()

# Export a NetworkX graph of the clusters
g = clustering.network

# Get members of a specific cluster
first_members = clustering.members_of(centroid_keys[0])

# Deepen into that cluster, splitting it into more parts, all the same arguments supported
sub_clustering = clustering.subcluster(min_count=..., max_count=...)

The resulting clustering isn't identical to K-Means or other conventional approaches but serves the same purpose. Alternatively, using Scikit-Learn on a 1 Million point dataset, one may expect queries to take anywhere from minutes to hours, depending on the number of clusters you want to highlight. For 50'000 clusters, the performance difference between USearch and conventional clustering methods may easily reach 100x.

Joins, One-to-One, One-to-Many, and Many-to-Many Mappings

One of the big questions these days is how AI will 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 differs from searching for every entry, requiring 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 be useful 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 the post: Combinatorial Stable Marriages for Semantic Search 💍

Functionality

By now, the core functionality is supported across all bindings. Broader functionality is ported per request. In some cases, like Batch operations, feature parity is meaningless, as the host language has full multi-threading capabilities and the USearch index structure is concurrent by design, so the users can implement batching/scheduling/load-balancing in the most optimal way for their applications.

C++ 11 Python 3 C 99 Java JavaScript Rust GoLang Swift
Add, search, remove
Save, load, view
User-defined metrics
Batch operations
Filter predicates
Joins
Variable-length vectors
4B+ capacities

Application Examples

USearch + UForm + UCall = Multimodal 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.

from ucall import Server
from uform import get_model, Modality
from usearch.index import Index

import numpy as np
import PIL as pil

processors, models = get_model('unum-cloud/uform3-image-text-english-small')
model_text = models[Modality.TEXT_ENCODER]
model_image = models[Modality.IMAGE_ENCODER]
processor_text = processors[Modality.TEXT_ENCODER]
processor_image = processors[Modality.IMAGE_ENCODER]

server = Server()
index = Index(ndim=256)

@server
def add(key: int, photo: pil.Image.Image):
    image = processor_image(photo)
    vector = model_image(image)
    index.add(key, vector.flatten(), copy=True)

@server
def search(query: str) -> np.ndarray:
    tokens = processor_text(query)
    vector = model_text(tokens)
    matches = index.search(vector.flatten(), 3)
    return matches.keys

server.run()

Similar experiences can also be implemented in other languages and on the client side, removing the network latency. For Swift and iOS, check out the ashvardanian/SwiftSemanticSearch repository.

SwiftSemanticSearch demo Dog SwiftSemanticSearch demo with Flowers

A more complete demo with Streamlit is available on GitHub. We have pre-processed some commonly used datasets, cleaned the images, produced the vectors, and pre-built the index.

Dataset Modalities Images Download
Unsplash Images & Descriptions 25 K HuggingFace / Unum
Conceptual Captions Images & Descriptions 3 M HuggingFace / Unum
Arxiv 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 exist. The one commonly used in Chemistry is to generate structures from SMILES and later hash them into binary fingerprints. The latter are searchable with binary similarity metrics, like the Tanimoto coefficient. Below is an 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)
keys = np.arange(len(molecules))

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

That method was used to build the "USearch Molecules", one of the largest Chem-Informatics datasets, containing 7 billion small molecules and 28 billion fingerprints.

USearch + POI Coordinates = GIS Applications

Similar to Vector and Molecule search, USearch can be used for Geospatial Information Systems. The Haversine distance is available out of the box, but you can also define more complex relationships, like the Vincenty formula, that accounts for the Earth's oblateness.

from numba import cfunc, types, carray
import math

# Define the dimension as 2 for latitude and longitude
ndim = 2

# Signature for the custom metric
signature = types.float32(
    types.CPointer(types.float32),
    types.CPointer(types.float32))

# WGS-84 ellipsoid parameters
a = 6378137.0  # major axis in meters
f = 1 / 298.257223563  # flattening
b = (1 - f) * a  # minor axis

def vincenty_distance(a_ptr, b_ptr):
    a_array = carray(a_ptr, ndim)
    b_array = carray(b_ptr, ndim)
    lat1, lon1, lat2, lon2 = a_array[0], a_array[1], b_array[0], b_array[1]
    L, U1, U2 = lon2 - lon1, math.atan((1 - f) * math.tan(lat1)), math.atan((1 - f) * math.tan(lat2))
    sinU1, cosU1, sinU2, cosU2 = math.sin(U1), math.cos(U1), math.sin(U2), math.cos(U2)
    lambda_, iterLimit = L, 100
    while iterLimit > 0:
        iterLimit -= 1
        sinLambda, cosLambda = math.sin(lambda_), math.cos(lambda_)
        sinSigma = math.sqrt((cosU2 * sinLambda) ** 2 + (cosU1 * sinU2 - sinU1 * cosU2 * cosLambda) ** 2)
        if sinSigma == 0: return 0.0  # Co-incident points
        cosSigma, sigma = sinU1 * sinU2 + cosU1 * cosU2 * cosLambda, math.atan2(sinSigma, cosSigma)
        sinAlpha, cos2Alpha = cosU1 * cosU2 * sinLambda / sinSigma, 1 - (cosU1 * cosU2 * sinLambda / sinSigma) ** 2
        cos2SigmaM = cosSigma - 2 * sinU1 * sinU2 / cos2Alpha if not math.isnan(cosSigma - 2 * sinU1 * sinU2 / cos2Alpha) else 0  # Equatorial line
        C = f / 16 * cos2Alpha * (4 + f * (4 - 3 * cos2Alpha))
        lambda_, lambdaP = L + (1 - C) * f * (sinAlpha * (sigma + C * sinSigma * (cos2SigmaM + C * cosSigma * (-1 + 2 * cos2SigmaM ** 2)))), lambda_
        if abs(lambda_ - lambdaP) <= 1e-12: break
    if iterLimit == 0: return float('nan')  # formula failed to converge
    u2 = cos2Alpha * (a ** 2 - b ** 2) / (b ** 2)
    A = 1 + u2 / 16384 * (4096 + u2 * (-768 + u2 * (320 - 175 * u2)))
    B = u2 / 1024 * (256 + u2 * (-128 + u2 * (74 - 47 * u2)))
    deltaSigma = B * sinSigma * (cos2SigmaM + B / 4 * (cosSigma * (-1 + 2 * cos2SigmaM ** 2) - B / 6 * cos2SigmaM * (-3 + 4 * sinSigma ** 2) * (-3 + 4 * cos2SigmaM ** 2)))
    s = b * A * (sigma - deltaSigma)
    return s / 1000.0  # Distance in kilometers

# Example usage:
index = Index(ndim=ndim, metric=CompiledMetric(
    pointer=vincenty_distance.address,
    kind=MetricKind.Haversine,
    signature=MetricSignature.ArrayArray,
))

Integrations & Users

Citations

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

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-2.15.3-cp312-cp312-win_arm64.whl (260.7 kB view details)

Uploaded CPython 3.12 Windows ARM64

usearch-2.15.3-cp312-cp312-win_amd64.whl (275.0 kB view details)

Uploaded CPython 3.12 Windows x86-64

usearch-2.15.3-cp312-cp312-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

usearch-2.15.3-cp312-cp312-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

usearch-2.15.3-cp312-cp312-manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

usearch-2.15.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

usearch-2.15.3-cp312-cp312-macosx_11_0_arm64.whl (359.6 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

usearch-2.15.3-cp312-cp312-macosx_10_13_x86_64.whl (374.7 kB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

usearch-2.15.3-cp312-cp312-macosx_10_13_universal2.whl (693.4 kB view details)

Uploaded CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)

usearch-2.15.3-cp311-cp311-win_arm64.whl (259.5 kB view details)

Uploaded CPython 3.11 Windows ARM64

usearch-2.15.3-cp311-cp311-win_amd64.whl (274.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

usearch-2.15.3-cp311-cp311-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

usearch-2.15.3-cp311-cp311-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

usearch-2.15.3-cp311-cp311-manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

usearch-2.15.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

usearch-2.15.3-cp311-cp311-macosx_11_0_arm64.whl (357.4 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

usearch-2.15.3-cp311-cp311-macosx_10_9_x86_64.whl (370.4 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

usearch-2.15.3-cp311-cp311-macosx_10_9_universal2.whl (687.2 kB view details)

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

usearch-2.15.3-cp310-cp310-win_arm64.whl (258.5 kB view details)

Uploaded CPython 3.10 Windows ARM64

usearch-2.15.3-cp310-cp310-win_amd64.whl (273.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

usearch-2.15.3-cp310-cp310-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

usearch-2.15.3-cp310-cp310-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

usearch-2.15.3-cp310-cp310-manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

usearch-2.15.3-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

usearch-2.15.3-cp310-cp310-macosx_11_0_arm64.whl (355.9 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

usearch-2.15.3-cp310-cp310-macosx_10_9_x86_64.whl (368.8 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

usearch-2.15.3-cp310-cp310-macosx_10_9_universal2.whl (683.8 kB view details)

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

usearch-2.15.3-cp39-cp39-win_arm64.whl (259.4 kB view details)

Uploaded CPython 3.9 Windows ARM64

usearch-2.15.3-cp39-cp39-win_amd64.whl (267.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

usearch-2.15.3-cp39-cp39-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

usearch-2.15.3-cp39-cp39-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

usearch-2.15.3-cp39-cp39-manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

usearch-2.15.3-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

usearch-2.15.3-cp39-cp39-macosx_11_0_arm64.whl (356.2 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

usearch-2.15.3-cp39-cp39-macosx_10_9_x86_64.whl (368.8 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

usearch-2.15.3-cp39-cp39-macosx_10_9_universal2.whl (684.3 kB view details)

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

usearch-2.15.3-cp38-cp38-win_amd64.whl (273.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

usearch-2.15.3-cp38-cp38-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

usearch-2.15.3-cp38-cp38-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

usearch-2.15.3-cp38-cp38-manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

usearch-2.15.3-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

usearch-2.15.3-cp38-cp38-macosx_11_0_arm64.whl (355.7 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

usearch-2.15.3-cp38-cp38-macosx_10_9_x86_64.whl (368.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

usearch-2.15.3-cp38-cp38-macosx_10_9_universal2.whl (683.5 kB view details)

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

usearch-2.15.3-cp37-cp37m-win_amd64.whl (273.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

usearch-2.15.3-cp37-cp37m-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ x86-64

usearch-2.15.3-cp37-cp37m-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ ARM64

usearch-2.15.3-cp37-cp37m-manylinux_2_28_x86_64.whl (1.5 MB view details)

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

usearch-2.15.3-cp37-cp37m-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

usearch-2.15.3-cp37-cp37m-macosx_10_9_x86_64.whl (364.7 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file usearch-2.15.3-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: usearch-2.15.3-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 260.7 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for usearch-2.15.3-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 764352ec9953f7785543de8ce33a145616e9a87d6455dab8934df211400c363d
MD5 bc997b27b40a594491870cb807f3f8d5
BLAKE2b-256 7d79a6ed5901962adcff8d7d828870521766638c0e5d84cba30b8e82412d68b5

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: usearch-2.15.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 275.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for usearch-2.15.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5ec601512871a54fad518b457694378b685fe6c67588d10d48c22c4225d75f34
MD5 8f2043d8b49d72d66ce05cf78d6aa071
BLAKE2b-256 1c931befb89f7d79691891e292dfaa166ab0b52f5a92c25b03f6fc25925a863f

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 59abca8cb3f7bc27a2c1c393705259a526dc21f33a9cded71f4c8463f9eec405
MD5 87ad237dcc461d08b80866be013057f0
BLAKE2b-256 ce95118c4e6f29314de8095619c80d0a9bed570dbd1ed6444676343fd07f6193

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c2d1c4805d21a8d0a46c18da655c6f6b30bf19ac76bd5835805ded93509c9931
MD5 a5cb65c96f908426b0d0dc9c686b9f78
BLAKE2b-256 e9cc8316f082a5da54562e87e3fb6d229b45b440b9b9b79d000253d4ee7973bb

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ef62dde6354c8e9d7f3b7ca03d6c7c61e4074ca4d38367727c3f43c4c8fa0cd0
MD5 9218832add3cb4804b057297eba9d1c1
BLAKE2b-256 3d817e67a574ed10d509ef9cd35124f61ed2c90ce0317ba4cb285bbab026a8af

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fca69265a2e8662587780e1881e0ca4d37f9603999bf26937741688fc429b1e8
MD5 dc92796b8c75cbc1d68a66ce7b7aa0e4
BLAKE2b-256 3789e5544898dbf06d59069484d0879bd1c2ce2996b2a154219c6813a34a7324

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba6f7b674d1f069e8beebd4fa7da72a189d2e5f0841c756950b5e22acaa77f5d
MD5 2ed13153427778d4f7fedb9aa432db22
BLAKE2b-256 22acc9268ed878c52453aa625d3d60fc119f1592580fb954678b3e38dece70cb

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 bce0dcd7db224bd024399c095c067be00abb45289410057a1eb73177541dfd56
MD5 a5117e9249e6e3dc10c1876f2466c904
BLAKE2b-256 c2c116ad5b06e7d9f693c9ccf7f500392fb2f92a195430e36481f27b3bcc3524

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 62eaf0a405ed02f606d118ac4c6920a390812d185e099766302a11cdbeeac2b8
MD5 93b149cb2d273003d23880c83dc226fa
BLAKE2b-256 b34dde082b7566819daa78d19552cdaa90393f244742d9c92d4d56b878719196

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: usearch-2.15.3-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 259.5 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for usearch-2.15.3-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 3790b0490e57db31b3adf70a0e192861e8c2ac84386ff71ed9e7362cfc986a41
MD5 ea996616613cf5f0c98770d59cc83244
BLAKE2b-256 93dc1be29887cbf834f3c24bd413f651574514c564944eafb2622805acfeb4d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.15.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 274.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for usearch-2.15.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 85b729fc3ed9bbbbbb46a1e108f82b0655aad7a77a469335aa90eb1de539a862
MD5 daf9a6c5c2ae4883679e30938e8b9b7e
BLAKE2b-256 aac67a1ecb8e060de74f494f005d4091915da7d4e0f48d06eaea13f19754257b

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 64157458de32daac1f8f0a1723e157d9f47c96d745202a8dd7ae7c2361ff0afd
MD5 8e82ed7c832db25c871312683252df06
BLAKE2b-256 c80c11c1d38134a57dd3117d6e4ef7af90c8e5b19c0df7eb776e068641e5d155

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cdfd91870ebbd431fa66622aecb3f271fe3e3f35a1f3a4a3df0dd207fd1b7703
MD5 a830d330b6ea040dee73f11ed48fd6bd
BLAKE2b-256 2db2fe82839bf34646493e3c6703c6d6e5e5721a3b184a1e3c4b8e03b4c86347

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0d93e868c40083d1a251da2f9cdab05e4d2b3c1a3012efec295dad69b8ebcbd2
MD5 b4c1d81177d54a08c1b7756a79cc8257
BLAKE2b-256 676ca19f0195a57d8f974e07bde69a96d26a206aa291025378830264390731da

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b3ef5035c205cda03034f485bdd0cd35e1b53dbb4c919250c39761d57158397a
MD5 4b50e6e9874763934631a82807f5ece9
BLAKE2b-256 8e187a3f374f8af4dc76ee2d204635474b0240e72591b2888f797784adedaf89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59f3d10302378302d885a0b80e155ee93c77ebc241157489efa4e31808e742b6
MD5 17eb925011cce4b621ca91e302ab5718
BLAKE2b-256 1eca83adc364150de47f5f49506545137846619b410993a7f6339c67284321c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9efa205e07f968f2375c30d4f6c1110ee809f11b55707ca5cfbae9519e01f5bb
MD5 b233f0b86fbd181b2a593d106f7b9e1b
BLAKE2b-256 d1d9a697102936b1d6068a93ead9abd77cce3f7a52a169a1584b8a407809f8f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 fea07103e74ab8f6ff741de3bde408c6cef430d87463486c34241ce12fad34be
MD5 9c7498ee0fee82995356d13610aa90a4
BLAKE2b-256 959ea4540c779f1ed5169dd2b007eb2f91b591b05d6c475777ffa2fa6d9bd4ab

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: usearch-2.15.3-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 258.5 kB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for usearch-2.15.3-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 9351278bc7c1b3edbac96cac3ff010f161bf173ec618c1d500685caadcacae3b
MD5 696648f0e183508ba2311899287d64d4
BLAKE2b-256 256a35b54c6918a0d562ea952d868293bea9bef04c4f0d35c434e58e0d90ef47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.15.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 273.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for usearch-2.15.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b0117a113aa1e0d8e6f054d54ea5543a686148cde5f4f029d8110c9d1f2b2e11
MD5 8a3acc0db61087199cad73d11fe6a385
BLAKE2b-256 ccf6b4e6de7fbbf53d512e1f0bb258b340bc73e884ec4c0f0bb40ea1c0b356a6

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ce77831895caa91e36ae73a5f2366c2727bbd256e4b3184cd587caccfd33e07f
MD5 d24c56e58dc9f5186605fc288b9cd153
BLAKE2b-256 82da91e1db504cd8346db4b628f78460744cc11c0d692d1421c642e5b4999ae4

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1eb9b6083e97a13429899c806a346ae973f94e755ba641538aa3ed6510f58db7
MD5 c0e973cf61e47be2a1e012cdf711e83a
BLAKE2b-256 ff056907330c7da29cc19cb7c746418146013e07a9d4d1a88eea40828d53ccea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4c609376f947c7858592ed333a8a9c860e6f6127ffdbdaba24b8bb25505a3468
MD5 dba8eebc74a6a6f87a467ccd54cf21e8
BLAKE2b-256 4c85e5a71913f95c1efbd0fb4271c2cc808179c73715f2be3e193e514fcb7387

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d617f3a31e80c3372431dc51095080e7e12039d297c7d36059a945ad98631df1
MD5 f84809e4128e1ae7885a1981eda869fb
BLAKE2b-256 b36ecf0b7188e745b560ef990e18cba46fb4f331dc3d679a98d31b0531097c78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9f87152dcee803bf43ef7d4b0e627dcaeac088fdb3dec82be28c152c23b919f
MD5 62e99a554bc24e74890f83788d77f474
BLAKE2b-256 64e7ef03eccfea0eb7dd8c819bb8a1737591d1b02a8e10e9623b45ad33f0b05f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3779bcc9c37f420391f8bd6fa340bfe524a08171b9585c2be3e588cd0eb9f58c
MD5 ed196402c87b8b837a4f7edc9fde5939
BLAKE2b-256 bd4fa84bdae0274d3dc671d0f232b62d55765b809d44f15b85f6ce4e14bbbf44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 010879d94597fd13e7db515887b623fad8e507b1a4e148d42b89cd93f0041861
MD5 849f457493253f6f90a059087718bf5c
BLAKE2b-256 db9f33c47f3b7f2368c2ff59df7d19831d2a5414035300e7ca88557b8ffd2bed

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp39-cp39-win_arm64.whl.

File metadata

  • Download URL: usearch-2.15.3-cp39-cp39-win_arm64.whl
  • Upload date:
  • Size: 259.4 kB
  • Tags: CPython 3.9, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for usearch-2.15.3-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 8b18f7bbdc784cf898068cf1efe7a0a4c9f49391a202c2d17726754a243c305a
MD5 7d4c744f7672fee6d1345a7c4df2f12b
BLAKE2b-256 6b8d287377d575954243f49ed5cb8e865fcb07396d3541fee8be5d60abc7e926

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.15.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 267.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for usearch-2.15.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8d18eee3fdec5dd38b5c8aeefc3ad4eefb3e810d5b2f92562e63b0b8f660bca1
MD5 65795ace9df00910831f0705c531f13b
BLAKE2b-256 4fc139ccdea5dd7df93836d61b6e6ca387a6e1758e6ea4ac79d81f3667607d28

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 89f54d92735533e2a4c206867c6783b543cf0cfd55b25abd6068a6ce61003dc6
MD5 df6debaf7069a6073f36f366edef35a2
BLAKE2b-256 07420bd342274573694eee8052cbee6f11233f88886a3e097777ceb92afe4395

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 265ff18a63f4f7a725d00bafdefcdee76c81254512c8ccc339e977ad2a4c6f6a
MD5 ce30e2cb7e8ca43252a315558e174dc0
BLAKE2b-256 32238c761098d3bf8784e00ce0522a8a9652764db68092ed035d32f212a681bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 beb80b80e217cd78a6db2f93a29322cbf095bfc62eb268efa89431ed94190869
MD5 8f1cf8f28439807c88f741d27f7e4946
BLAKE2b-256 7d63ede34346da26985481249e2f7101ea3e6ab12c167d402b5a62626abca727

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c8f744bb0e32c7fee3191b3e5a24caf235e8c96dc917ebce1954a389b6ff436e
MD5 eb35459dd60856167a0144857b33aef5
BLAKE2b-256 4489ebe0b1df5fcce8cecd881d87ab48bfe55a01985caa138d23a76d5906abfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d244097dc7a4a891e809636e36de34c474b65fdfeaa9c7a88c1fc946476ec190
MD5 8b2bead91c3197c5b1da12cccf88aaa9
BLAKE2b-256 c592dfd136638feb21c051dbd990769944e41c8815d7edc8fa8257e879a1f621

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 935ee024b2db5cd91ad26dcd8b766aad829b2219e4309340f0c94a97bb5f96bd
MD5 9bf30e87f7f8a5e43db604dadcbb0ec0
BLAKE2b-256 b21e3f0a876deae698cdcb2a79130a053405492903bba074c9dd37afcb19a1bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 10af2adf5800309b54a9cd5e942935f75b9dc9dda0ead18481d2dd1116dd2271
MD5 8737888b8b919f2e0495af37067550a7
BLAKE2b-256 5a51cef9337f03f486f851f02654f7ac0c4b7445a4d362e4bee44f8a5c744e73

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.15.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 273.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for usearch-2.15.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 117b8c0a1ffb8a31e577e11a903cdb9dc947bfda3aad4559a7282960714ab91a
MD5 479daa05b67f3ac0d323b6a4f432204e
BLAKE2b-256 72de99546ea22e4b23154f7f72af127bc636d2db1f855dc30f2bb5adf9d4ac77

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fa9d7d16cb8b0dfd65d5e9671b74a06203416618760ba885ec74c46430cdc749
MD5 7488ce6ca6a6b72ccffc2ab548887aa4
BLAKE2b-256 a4df4f76f36cd1ffa52c7494c2076b2b0a3ed786e6a6ec967298e642e26fed60

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 64b4e1a9fdb2aac7157635a451989f6dec7187f3006d732ecd7690e55cca26fe
MD5 3d5129a8dd02c67d40838bd0aae7f147
BLAKE2b-256 75c4d2419231e70e890dad75eaa7c84fa82d0f9cad78d7cb45a2932117c3e2c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7b15622ee52f85d44840452caf7d5843d3257d03ba0b6ef8a6283cf0c70dc7c0
MD5 f0a0570fa4b1f339e2ad6b6aa2b2c817
BLAKE2b-256 f2ca019ce8db1873f2288f2d196be905e4af6695a7c97c00bbfe75ca6dea1f37

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ac30b9c7ea931a8a6cc83546c2ba68c2a936e424687eb7738f68326c2bd37346
MD5 4503e583924a420018b01af6e958dd7d
BLAKE2b-256 906a04dbfe4ae2bbe8bd33df990fdfe2d9812e3fc1f2fb4812d79cd79a4048bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ecdc81dd34f309ec38b2bb2fc484a46e4ba20494757fbcaab5cc655b8299f2be
MD5 276b08edd05872c2b5dedcc929dcdf8d
BLAKE2b-256 f5b81f7301948c80fe8ef2da916a6152e785c050b705b6bab566b215a482ccb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 775038977bb202039457bc1b8045b667cbe524571970f0ab3d9991d114b5d09d
MD5 8c276f1c47124cbfcf693ebd6ee24792
BLAKE2b-256 edda3b54ea984f66f5475da7688a3100cea7768d61b74414259b5ec6ab5f484b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e22bb2f2a05fd25652db1d89d2b588aaf9149059720f78cd7637b7d7c55129da
MD5 3c1492438652745ce0bd4b1f18ae8bc3
BLAKE2b-256 ccc2af2e0a7a4bdb4aa9f2a71943a7ae4061dacf36b3e3b0d2f859edba1ca580

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for usearch-2.15.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 4a7afa523d0771d456ef71125ad26009292739cf4c333f03e8976381203136a3
MD5 8a1f4ed90ec27bea4ce13f6e76e47e0d
BLAKE2b-256 2e9151fa29a87f19af22093997e9229e2c034c30e1e178a5811b659bb594b785

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp37-cp37m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1f5383243260a7fbb5d507e3350a3bc1c228dbcc25b37dbddce76441f6dd13ce
MD5 acadfa451ed28578e07457b6ec18cc21
BLAKE2b-256 e5ecc0dc58de2c924e3aaea1dc7cfcd39fb280acca99c53b69380e0fd5669bd4

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp37-cp37m-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp37-cp37m-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4f2051c02d51130f1eaa55a15057d9a025cb14387f5ce24a49b57a86c9272a4d
MD5 622f3df44c8afaa3071f1cd64f1c6b19
BLAKE2b-256 10b9c9e35c8018298f092b2010e83b73797c4b22d3b7a882decfb28e61095111

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7195aa55d85442c2215dcf930f44567ff2eecc01dfa1651fef1c88a37c175137
MD5 aa37643e82309c31d822721b8955ea47
BLAKE2b-256 c68446122d334d42b1970f0636964709b80124c1e14a10fe10fa7fd2c44c3449

See more details on using hashes here.

File details

Details for the file usearch-2.15.3-cp37-cp37m-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for usearch-2.15.3-cp37-cp37m-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 39e61f140f2cdd766874b318f30cf6a01561c03328b0694f7187beb32c6fb563
MD5 1defd8acbbd264e6984d0c8063b88975
BLAKE2b-256 64a69f129af33e757ce6e56e315a11006ae5ca4f0238bb94c5f935573d1e9bff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.15.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c865f1e33c1631122d9c63e29e8b97e47b7fb286cfae90013e4fd6cd5c9f7f3c
MD5 ba8c458f59ada713e5e18b85d1316d58
BLAKE2b-256 a7d07f36622fa6ba68f37672141db41206eae39aa6167a5a59aedb7e476924e7

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