Skip to main content

Smaller & Faster Single-File Vector Search Engine from Unum

Project description

USearch

Smaller & Faster Single-File
Similarity Search 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 • 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 numpy usearch

import numpy as np
from usearch.index import Index

index = Index(ndim=3)

vector = np.array([0.2, 0.6, 0.4])
index.add(42, vector)

matches = index.search(vector, 10)

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 f16 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='f16', # 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 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

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.

USearch uint40_t support

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 imlemented 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.13.1},
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.13.1-cp312-cp312-win_arm64.whl (262.4 kB view details)

Uploaded CPython 3.12 Windows ARM64

usearch-2.13.1-cp312-cp312-win_amd64.whl (280.1 kB view details)

Uploaded CPython 3.12 Windows x86-64

usearch-2.13.1-cp312-cp312-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

usearch-2.13.1-cp312-cp312-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

usearch-2.13.1-cp312-cp312-manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

usearch-2.13.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

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

usearch-2.13.1-cp312-cp312-macosx_11_0_arm64.whl (362.8 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

usearch-2.13.1-cp312-cp312-macosx_10_9_x86_64.whl (374.7 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

usearch-2.13.1-cp312-cp312-macosx_10_9_universal2.whl (696.5 kB view details)

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

usearch-2.13.1-cp311-cp311-win_arm64.whl (261.3 kB view details)

Uploaded CPython 3.11 Windows ARM64

usearch-2.13.1-cp311-cp311-win_amd64.whl (278.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

usearch-2.13.1-cp311-cp311-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

usearch-2.13.1-cp311-cp311-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

usearch-2.13.1-cp311-cp311-manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

usearch-2.13.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

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

usearch-2.13.1-cp311-cp311-macosx_11_0_arm64.whl (361.2 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

usearch-2.13.1-cp311-cp311-macosx_10_9_x86_64.whl (371.3 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

usearch-2.13.1-cp311-cp311-macosx_10_9_universal2.whl (692.4 kB view details)

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

usearch-2.13.1-cp310-cp310-win_arm64.whl (260.3 kB view details)

Uploaded CPython 3.10 Windows ARM64

usearch-2.13.1-cp310-cp310-win_amd64.whl (277.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

usearch-2.13.1-cp310-cp310-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

usearch-2.13.1-cp310-cp310-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

usearch-2.13.1-cp310-cp310-manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

usearch-2.13.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

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

usearch-2.13.1-cp310-cp310-macosx_11_0_arm64.whl (360.1 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

usearch-2.13.1-cp310-cp310-macosx_10_9_x86_64.whl (369.8 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

usearch-2.13.1-cp310-cp310-macosx_10_9_universal2.whl (690.1 kB view details)

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

usearch-2.13.1-cp39-cp39-win_arm64.whl (261.3 kB view details)

Uploaded CPython 3.9 Windows ARM64

usearch-2.13.1-cp39-cp39-win_amd64.whl (273.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

usearch-2.13.1-cp39-cp39-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

usearch-2.13.1-cp39-cp39-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

usearch-2.13.1-cp39-cp39-manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

usearch-2.13.1-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

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

usearch-2.13.1-cp39-cp39-macosx_11_0_arm64.whl (360.2 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

usearch-2.13.1-cp39-cp39-macosx_10_9_x86_64.whl (370.1 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

usearch-2.13.1-cp39-cp39-macosx_10_9_universal2.whl (690.4 kB view details)

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

usearch-2.13.1-cp38-cp38-win_amd64.whl (277.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

usearch-2.13.1-cp38-cp38-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

usearch-2.13.1-cp38-cp38-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

usearch-2.13.1-cp38-cp38-manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

usearch-2.13.1-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

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

usearch-2.13.1-cp38-cp38-macosx_11_0_arm64.whl (359.9 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

usearch-2.13.1-cp38-cp38-macosx_10_9_x86_64.whl (369.8 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

usearch-2.13.1-cp38-cp38-macosx_10_9_universal2.whl (689.9 kB view details)

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

usearch-2.13.1-cp37-cp37m-win_amd64.whl (278.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

usearch-2.13.1-cp37-cp37m-musllinux_1_2_x86_64.whl (2.3 MB view details)

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

usearch-2.13.1-cp37-cp37m-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ ARM64

usearch-2.13.1-cp37-cp37m-manylinux_2_28_x86_64.whl (1.4 MB view details)

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

usearch-2.13.1-cp37-cp37m-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

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

usearch-2.13.1-cp37-cp37m-macosx_10_9_x86_64.whl (366.9 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: usearch-2.13.1-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 262.4 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for usearch-2.13.1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 fd6c9c279a171929a120923d9fd9b91a9a221e90ff7286d49c673976657a58d1
MD5 227603f41c9e2cf760117d18997d5b67
BLAKE2b-256 cd81baac119234f543e1ead4ff297d8ea915e53598e39417d54217e5d545f350

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.13.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 280.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for usearch-2.13.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cb863e20fe68f912bd52e473801089eb8304fe8806c1c25f95f358f6bd89957e
MD5 a92054094c3f6720de867ccb36c2e810
BLAKE2b-256 885cbfb5d10cd7dfa05d05ec52c5e7a0f8a5819cfdf80fda15f1333b088bcf96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6267ab3d6d4cdadf54e593b53973d6b2f694b8ad7a3b2eac0a34de8cbc27caad
MD5 429918db1a8f3c62dd26e953357e1188
BLAKE2b-256 3a3b5d6b989d6ce33d2adbf11d2ffa27ff723bad556174ad047409d0a8c7b9a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 18301eaa241200046fb9b2683f3f21356efa237e8f7b7332edda604832c6b281
MD5 0e433b67e395a73412d0d302331481fa
BLAKE2b-256 813ba169d93239ac5770ec9d2da68d65dc959c59cf36a7640e1f15ab13ec608f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 84fd6d1e94f2d2ae9e208ca7a17913e3986171c80e6e625a16bf7c48c5b32705
MD5 a14ddab88bcc1db69c35ad4e4bd58c6f
BLAKE2b-256 c545aa4501bf2c4481ba17d7830273f3f054160d45ee1405a0fe99247095181e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 adf3c80d9060d92832f4fdee24b2d36c9549a4da55210c40b995c4bc9d523845
MD5 d8a1092d572a671f2f35f720e2d7c1b4
BLAKE2b-256 002e6517e05a316bc42c14b5332180e3ce740afef69e598c08734b593cae693d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9e98369addef9aa6395f37b1ac5b651205f5952e2520a629bf10f59f2eeb65fc
MD5 e969359cc9acaa1e2eb834cb53b401f7
BLAKE2b-256 0f178d6c3f9f76aef1231ed53488e8fcf01b12b22b7835af9eea37b0bac85621

See more details on using hashes here.

File details

Details for the file usearch-2.13.1-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for usearch-2.13.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 32acc267e1c85227c8fea258d8f8b01dd8625afa01e54224bf99e068989fcbdd
MD5 f72b99ecf744c9110d10da41e8ed0e9a
BLAKE2b-256 c098feb4540a50f8b5048deb813b3b3b8028bd348bcfba7f45e1255b90abb8a2

See more details on using hashes here.

File details

Details for the file usearch-2.13.1-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for usearch-2.13.1-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 47b1d2b0cb62e6b6d2fa11861dae098be87f50b43ee67777a703829febf5ec5a
MD5 3e2a8837151268aa8ab4f45045074805
BLAKE2b-256 730a07e9f6127e976297b420a657376920ac96c74ffea741d9b749512e078a59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.13.1-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 261.3 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for usearch-2.13.1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 9093cd4c35b0233467df86ebaf1386c404cbecb457cca660201d3c32879e18d9
MD5 81dce72c2b397e16e8934263d83cf461
BLAKE2b-256 65905d5afe91c0115d672328724947d02eb8941c27808796fabf1440f8364698

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.13.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 278.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for usearch-2.13.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 915f25ad55f29249a3858e07662937ed3c53cc873c4639ca1419ec93326bd056
MD5 e9eefd20bd97847cd5525467c8ed724a
BLAKE2b-256 aa9c1955dae4aaaafd3c92c250fe0a9505edf01b79fd77394c2c6f3b7462211e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4a6cded38d45733e286afc32151c5a7caa8bb1497e54078810cefb77f9697ef1
MD5 29b1deb1be903691a2840e1e685c5acb
BLAKE2b-256 830a12f121c834c5ecc42baa9b5ebd406ab0c057c8f5bbc1094f093210610a73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a54875d27afb4ed3b61c1a09194552ce198cc37f6a68dd66ae1767d623a57ca6
MD5 adbce0fd71285341b001e5ee1cc403b6
BLAKE2b-256 2a77a6b729107da0f88ca119d8ef6a474df360c4f6bfa7be67331775862fd658

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77906dbfe75152e9c5bf95b7365080cd2725abacd418d49e6163895629d33ad6
MD5 2056ca005bbe3d7a99a38db321149c95
BLAKE2b-256 27ecead0dd9b9c950d54a3a3a3e83875f3f1a21b3836e5b0df78a2e19107b7ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 979257773e68b3406f265917399d3f5e24a591dffc9a491ad61b6d63445015eb
MD5 252b4e83a76779acc4aabd9e26943d12
BLAKE2b-256 20c32ddac5514438e79be818f17b30672486001cc621fb563786df99f08d2eb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a79042f52f8edefb79c96fde2b49c4b6debc07b7ac8f61dced1774a868eb1d91
MD5 05a5fb9020a5a4fd251859ec1b332a2c
BLAKE2b-256 99dd5addc8b57d448a742d96bf0edce63814e98211c185d00fc836e3fc55019f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 80e8e52240fd6b1f5f1fea2a0841688a4b442d57f5737ae290a43c48ceb7d91b
MD5 6d1141cd3c0a2a2d5adedb3fa05e32ba
BLAKE2b-256 6a66ff65d78d7f18e03017890129fd1483b7822396cdaed9dc18cf0ee99d99e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2f03cc7ed366dbba554b6abaf9f609f4a82e2464d0ca493b4419869370b6e433
MD5 6b899fd5ad3f7402264e8b448e0464a3
BLAKE2b-256 2f9c9cdcc017906063fc93e3e683e40cd2179910691d5827992a435c64f86fbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.13.1-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 260.3 kB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for usearch-2.13.1-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 eba4de127f242253e63ebbca37189fd85e3cd8dba33e7489a63e573e12361140
MD5 62c561f1f28284f5f7aa80c0f09bc2d1
BLAKE2b-256 edbd04c43cc4e78c1073fb046777c00b1101dc627f77a0aeec1c109844086edc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.13.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 277.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for usearch-2.13.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dde344ded07c30118b0bf4e9b116998b78477b96f6af7dcf6afd683beb00d308
MD5 9c4e935e1996f2797c78fe8872bf0cc8
BLAKE2b-256 54645275f5a5255c18a09bfbb30920ba4c545eed70ceaf4c004fad35349ce4ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 84baa8d70252efaedf13dbd7d80a1b95394b5ee4cca75cc2d1b419dd3dbc0ad6
MD5 6e73bd596f692891e4bf81c3a4d00f0c
BLAKE2b-256 ea64abc358aed97c576ff0665c862c27492d21a889b2982581dd9a95053ac120

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 96dca10209f593e387aa8d872dc82c689c37465835ac4a01775081758c62a4e0
MD5 cefade8d229805203924b662f3ed4589
BLAKE2b-256 0a68896c52f19b42e63f7ee52f7e41c23a0100137913b4219166ac585ab5b421

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f4460e4291195c58f588b606b4e3c599e4b0ea6b5d18b585075129e0e4c010f6
MD5 8f0d03687e95d142bb1d561da0cfc0cd
BLAKE2b-256 c919541a7afc1c021f79a9c04b602af0e08bc6f28851f89bd703fb9dc7e500d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7cb72c88a7e031779a9e2a3990ecae5b747ec0b616eb7f1bec92f25c990d3c60
MD5 b7b74c9f324d0a23bbf483ecf21ab579
BLAKE2b-256 a4617cade31ff1d56e6a248c50b70a646b78f7dfd8ff2fd4d767859656f168b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e090bfb549c352bed731c05afc2d624b3da6a5241bc39cdd913539a1ce6a0d09
MD5 3b9ef3f4b0cc1cc9e7656d5321ea0386
BLAKE2b-256 a5392cdf97e39cb1a30be4a297af07953a4cd00457389a1f9c5435726051088d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 19ce3ffae097be72f86a51f4181f4a47023f4ce4b07fe14413d49073ea277e1b
MD5 0df887a5edcde71defe01d2e3edcf6f8
BLAKE2b-256 70a17f6c7dfc37ad57f22aaae5e064b18f1c9214bc83e0710a0d8d4614d2d338

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4fc2318bf48a9d3453a2d7fb63a2061a5fa81a19843446a295431011311ffa55
MD5 fe4e1a16c2217f3b1654861c896190ac
BLAKE2b-256 7e6571a95a0a81a9702a2af14e58691e4255df4399cd8d4b19793ae4a6f4f75c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.13.1-cp39-cp39-win_arm64.whl
  • Upload date:
  • Size: 261.3 kB
  • Tags: CPython 3.9, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for usearch-2.13.1-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 fb06d1598981ad7471d3b5b1451af09a9cedc8f3df446272dbdb47425e53468a
MD5 72b9136b91fcbb131c49f3293b2e4085
BLAKE2b-256 66862d7cb4d8111702a761e94429b25dc49e703c20c81c67e114a2c6e16c5926

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.13.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 273.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for usearch-2.13.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d8c41a0881b674cad16c6faa7b63fba73d66211af0a56d185961430b1a822bea
MD5 9a86eb35e6ec737a71dda9d624a0755d
BLAKE2b-256 ec8cec665511f148d1f43390343f0fa5e0b15d9a2f1c166786783713569baab2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 24014ed71cdddf88c06b2f2cc8dc7165dc25a7c9320bc35d4df7d341cf4658f8
MD5 f1c49522b5ef15e87ec886cb99ede59c
BLAKE2b-256 bdb8ba131b1ff755cd503502cb39e290b9a1d8712ada64cf0222234f6ddb41e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 45403017518a3cfefbeba6c92282b25748e04f0e518db3116a9b2ce1b06b2365
MD5 e046e332e35152feb95359419485daef
BLAKE2b-256 72b50207ea87af991af0aba5d48428a1ae4f38a7c8be8db4c129c784a29b4f28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ef522ff1ccc5fcae196e8736c0d3da9b7f2ca539b4eaec1fa1684a23b8369c12
MD5 e5bf8cc47b66cca12364573dbac938c8
BLAKE2b-256 348dee7a4a213acadf7f747602fe590e5d84c6db9578e6e4112e71d9ea609d3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 101582210190b43132fe9ea39273003f4925a9fdf3b2b7091a1c49836ffb1b7c
MD5 dc5c8ed7965572c9784eadff578690f1
BLAKE2b-256 2c22527654cb7d9b3f15a24972b04031d1180eff6c3cdcfabeb3c9fc9ae721e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d53f003e0695ab734bd3deaf679844753dad4fa2b8f3f88eb588b22164659267
MD5 f1e40e17e91bb68a295b1244cb3f862b
BLAKE2b-256 e59ac5b70facc19741417e9f9eeee5030777954a891997fc019d05adbfe60aac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7a243a2f2a622b340339bc65d551152b02eee1eb6f31338c3965a83c389816f9
MD5 d7e656928d98211e15df9bf2a50b93d4
BLAKE2b-256 f1f4ef43f1ea6d3f5d11f3b6b330013999401edb799ad7fb5131334549fc314c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e42f90368cfda1490d4817d1a3949e2697230b92e47af5fe6f88c5cf642b75e8
MD5 935902b05bf9934591e4dcc80a2522a0
BLAKE2b-256 dd843fe25f32e0efb30a3ede5c1243d1bb363bb2a22104192914cae4dd7a335f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: usearch-2.13.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 277.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for usearch-2.13.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 edf93215889551fdf693cc70aaefb7c616561cd2963849b40785336e50b8d8b2
MD5 6424819aba415694d8c89a4ab2166aec
BLAKE2b-256 10c926f972675f151a1663577fd7def839d926ba77c55ad7258a33d024bbc959

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e6492bf72e84eb8fa322140cb0998f423a4268060a43f9b1a76541d5eb6762b0
MD5 fc124f74176d4ab1dbd9ab665371603a
BLAKE2b-256 ee51d5eeb8817e2b72992410aae87d42204c905f38a7f973252cca73cd349e14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 54cc4157b2c7624683feea8d84bf9a03ad4c813648d02c6000d43e0e1ff90549
MD5 bec5b36290d04d0116b5f65a1008c9a1
BLAKE2b-256 04d9255c0fe5ce2304dad5e10bfc35c360fad577585ab8a87fab073767f9df1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 81b7bc1b1028218177b2e87bad6113f0c573c5a7d2049415ab22b0005c47e838
MD5 76bc3ddecfbedc5a81783f0c5de36f64
BLAKE2b-256 703a7e3b1393d4c25a681b553af90c8db5c219a360f72c9900183750c79d45db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d9dfed3f07bf9d5d47e9d9d941853fa11b35a1afddd128b06ec3ba7749488328
MD5 abf7dfe2442fe54113f761a408a5b8f4
BLAKE2b-256 0f9e7b422bed5dc55a10b6a1f71da59996efbae339c8a99353b0b447a2fe11aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f9ff4d57f9206d88feec303023f85d13468f4e1407a49ec3b10fd6610b01ddd
MD5 d41039446d8b8a3dae667911aa1dc65c
BLAKE2b-256 1dd73c989d75a17876c3a34e831a51297b58bca4a28c7e95216fcd0ca146bc24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 52d29494fb340f1077d6959b74605a030137bca929bd428b72ec57878a6c52fe
MD5 210f714c81b24e98bdc786d4130811bc
BLAKE2b-256 ccd4377828115fc343a6aeb893981aae5867ef7043209b936a04e967d03df261

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e18ab2d12ed9950dff65347af4fe84e35f71eba85c728ec3f9c12c73c396569c
MD5 c886f24ee0669db1d92262827db074b8
BLAKE2b-256 953e94cc580f4ff738d58c9140b13fbbdc4e876dbc5daef644fe6f2f174e33e2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for usearch-2.13.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 24ae84bd0d836bcea35e8f5691941bb19790b3e40bc74746933c714ab590d7da
MD5 4ab400d5689eb87220dfa5fd3b6f0c95
BLAKE2b-256 ab3cf21903592cb035779445682bb270701695417600ef7880566d8bfd58d261

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 54b28df38fe9ee3dcd6d4f7b5a6e7278880c2cb4f2a01d9e095ca3f309b5ac56
MD5 f59ebe150be584df4a87a80baa107f61
BLAKE2b-256 0ded4bb1f9d394ca5917b2b87103082ca1209873e91d129f44f94870a1571b6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp37-cp37m-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 88f5d8a5c2d08ab4a1dc9e87fe397bf66cee793c66cc44d70f7decf588028b2a
MD5 cd97ec3fcadec6984e29716726ef295f
BLAKE2b-256 67ed06ae64affa64b88259f84f91497dee15286c8bb3c3c2c04552ffa088132a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ba9c9f95d76ea49aced103a3cad10d4f37883fabaf8c6053e23f1b52e4f34cd2
MD5 ac8a2e017e6c4c6140c6a09de4d18db1
BLAKE2b-256 8aa192fc44e00cb77d2c1ff9c4322e19f37f21d9772daa6590e5503610efd7ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp37-cp37m-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 32a0e592cc9a95ee8f0ac7307621dcf5f1aab28b6e6878405ec59e6c2e33015e
MD5 efd78a73b598c9817e6928f5eeb1959a
BLAKE2b-256 5e2f7d5bfa9606ba66bb11a66905499f193c44bf2276669d4213611b2fa6447a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for usearch-2.13.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 338f3efa498ecfe298791b54917767f2968f28875bb6037eb5d5bcb82572753a
MD5 5b6c7991ad3ca1dd64ff403b8c5bbb40
BLAKE2b-256 eb87b597eac85b903b5b4d4a5f5cb7080440e7889e4b3c11197fc11be9c3d7ba

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