Skip to main content

Portable mixed-precision BLAS-like vector math library for x86 and ARM

Project description

SimSIMD banner

Computing dot-products, similarity measures, and distances between low- and high-dimensional vectors is ubiquitous in Machine Learning, Scientific Computing, Geospatial Analysis, and Information Retrieval. These algorithms generally have linear complexity in time, constant or linear complexity in space, and are data-parallel. In other words, it is easily parallelizable and vectorizable and often available in packages like BLAS (level 1) and LAPACK, as well as higher-level numpy and scipy Python libraries. Ironically, even with decades of evolution in compilers and numerical computing, most libraries can be 3-200x slower than hardware potential even on the most popular hardware, like 64-bit x86 and Arm CPUs. Moreover, most lack mixed-precision support, which is crucial for modern AI! The rare few that support minimal mixed precision, run only on one platform, and are vendor-locked, by companies like Intel and Nvidia. SimSIMD provides an alternative. 1️⃣ SimSIMD functions are practically as fast as memcpy. 2️⃣ Unlike BLAS, most kernels are designed for mixed-precision and bit-level operations. 3️⃣ SimSIMD often ships more binaries than NumPy and has more backends than most BLAS implementations, and more high-level interfaces than most libraries.

Features

SimSIMD (Arabic: "سيمسيم دي") is a mixed-precision math library of over 350 SIMD-optimized kernels extensively used in AI, Search, and DBMS workloads. Named after the iconic "Open Sesame" command that opened doors to treasure in Ali Baba and the Forty Thieves, SimSIMD can help you 10x the cost-efficiency of your computational pipelines. Implemented distance functions include:

  • Euclidean (L2) and Cosine (Angular) spatial distances for Vector Search. docs
  • Dot-Products for real & complex vectors for DSP & Quantum computing. docs
  • Hamming (~ Manhattan) and Jaccard (~ Tanimoto) bit-level distances. docs
  • Set Intersections for Sparse Vectors and Text Analysis. docs
  • Mahalanobis distance and Quadratic forms for Scientific Computing. docs
  • Kullback-Leibler and Jensen–Shannon divergences for probability distributions. docs
  • Fused-Multiply-Add (FMA) and Weighted Sums to replace BLAS level 1 functions. docs
  • For Levenshtein, Needleman–Wunsch, and Smith-Waterman, check StringZilla.
  • 🔜 Haversine and Vincenty's formulae for Geospatial Analysis.

Moreover, SimSIMD...

  • handles float64, float32, float16, and bfloat16 real & complex vectors.
  • handles int8 integral, int4 sub-byte, and b8 binary vectors.
  • handles sparse uint32 and uint16 sets, and weighted sparse vectors.
  • is a zero-dependency header-only C 99 library.
  • has Python, Rust, JS, and Swift bindings.
  • has Arm backends for NEON, Scalable Vector Extensions (SVE), and SVE2.
  • has x86 backends for Haswell, Skylake, Ice Lake, Genoa, and Sapphire Rapids.
  • with both compile-time and runtime CPU feature detection easily integrates anywhere!

Due to the high-level of fragmentation of SIMD support in different x86 CPUs, SimSIMD generally uses the names of select Intel CPU generations for its backends. They, however, also work on AMD CPUs. Intel Haswell is compatible with AMD Zen 1/2/3, while AMD Genoa Zen 4 covers AVX-512 instructions added to Intel Skylake and Ice Lake. You can learn more about the technical implementation details in the following blog-posts:

Benchmarks

NumPy C 99 SimSIMD
cosine distances between 1536d vectors in int8
🚧 overflows
x86: 10,548,600 ops/s
arm: 11,379,300 ops/s
x86: 16,151,800 ops/s
arm: 13,524,000 ops/s
cosine distances between 1536d vectors in bfloat16
🚧 not supported
x86: 119,835 ops/s
arm: 403,909 ops/s
x86: 9,738,540 ops/s
arm: 4,881,900 ops/s
cosine distances between 1536d vectors in float16
x86: 40,481 ops/s
arm: 21,451 ops/s
x86: 501,310 ops/s
arm: 871,963 ops/s
x86: 7,627,600 ops/s
arm: 3,316,810 ops/s
cosine distances between 1536d vectors in float32
x86: 253,902 ops/s
arm: 46,394 ops/s
x86: 882,484 ops/s
arm: 399,661 ops/s
x86: 8,202,910 ops/s
arm: 3,400,620 ops/s
cosine distances between 1536d vectors in float64
x86: 212,421 ops/s
arm: 52,904 ops/s
x86: 839,301 ops/s
arm: 837,126 ops/s
x86: 1,538,530 ops/s
arm: 1,678,920 ops/s
euclidean distance between 1536d vectors in int8
x86: 252,113 ops/s
arm: 177,443 ops/s
x86: 6,690,110 ops/s
arm: 4,114,160 ops/s
x86: 18,989,000 ops/s
arm: 18,878,200 ops/s
euclidean distance between 1536d vectors in bfloat16
🚧 not supported
x86: 119,842 ops/s
arm: 1,049,230 ops/s
x86: 9,727,210 ops/s
arm: 4,233,420 ops/s
euclidean distance between 1536d vectors in float16
x86: 54,621 ops/s
arm: 71,793 ops/s
x86: 196,413 ops/s
arm: 911,370 ops/s
x86: 19,466,800 ops/s
arm: 3,522,760 ops/s
euclidean distance between 1536d vectors in float32
x86: 424,944 ops/s
arm: 292,629 ops/s
x86: 1,295,210 ops/s
arm: 1,055,940 ops/s
x86: 8,924,100 ops/s
arm: 3,602,650 ops/s
euclidean distance between 1536d vectors in float64
x86: 334,929 ops/s
arm: 237,505 ops/s
x86: 1,215,190 ops/s
arm: 905,782 ops/s
x86: 1,701,740 ops/s
arm: 1,735,840 ops/s

For benchmarks we mostly use 1536-dimensional vectors, like the embeddings produced by the OpenAI Ada API. The code was compiled with GCC 12, using glibc v2.35. The benchmarks performed on Arm-based Graviton3 AWS c7g instances and r7iz Intel Sapphire Rapids. Most modern Arm-based 64-bit CPUs will have similar relative speedups. Variance within x86 CPUs will be larger.

Similar speedups are often observed even when compared to BLAS and LAPACK libraries underlying most numerical computing libraries, including NumPy and SciPy in Python. Broader benchmarking results:

Using SimSIMD in Python

The package is intended to replace the usage of numpy.inner, numpy.dot, and scipy.spatial.distance. Aside from drastic performance improvements, SimSIMD significantly improves accuracy in mixed precision setups. NumPy and SciPy, processing int8, uint8 or float16 vectors, will use the same types for accumulators, while SimSIMD can combine int8 enumeration, int16 multiplication, and int32 accumulation to avoid overflows entirely. The same applies to processing float16 and bfloat16 values with float32 precision.

Installation

Use the following snippet to install SimSIMD and list hardware acceleration options available on your machine:

pip install simsimd
python -c "import simsimd; print(simsimd.get_capabilities())"   # for hardware introspection
python -c "import simsimd; help(simsimd)"                       # for documentation

With precompiled binaries, SimSIMD ships .pyi interface files for type hinting and static analysis. You can check all the available functions in python/annotations/__init__.pyi.

One-to-One Distance

import simsimd
import numpy as np

vec1 = np.random.randn(1536).astype(np.float32)
vec2 = np.random.randn(1536).astype(np.float32)
dist = simsimd.cosine(vec1, vec2)

Supported functions include cosine, inner, sqeuclidean, hamming, jaccard, kullbackleibler, jensenshannon, and intersect. Dot products are supported for both real and complex numbers:

vec1 = np.random.randn(768).astype(np.float64) + 1j * np.random.randn(768).astype(np.float64)
vec2 = np.random.randn(768).astype(np.float64) + 1j * np.random.randn(768).astype(np.float64)

dist = simsimd.dot(vec1.astype(np.complex128), vec2.astype(np.complex128))
dist = simsimd.dot(vec1.astype(np.complex64), vec2.astype(np.complex64))
dist = simsimd.vdot(vec1.astype(np.complex64), vec2.astype(np.complex64)) # conjugate, same as `np.vdot`

Unlike SciPy, SimSIMD allows explicitly stating the precision of the input vectors, which is especially useful for mixed-precision setups. The dtype argument can be passed both by name and as a positional argument:

dist = simsimd.cosine(vec1, vec2, "int8")
dist = simsimd.cosine(vec1, vec2, "float16")
dist = simsimd.cosine(vec1, vec2, "float32")
dist = simsimd.cosine(vec1, vec2, "float64")
dist = simsimd.hamming(vec1, vec2, "bin8")

Binary distance functions are computed at a bit-level. Meaning a vector of 10x 8-bit integers will be treated as a sequence of 80 individual bits or dimensions. This differs from NumPy, that can't handle smaller-than-byte types, but you can still avoid the bin8 argument by reinterpreting the vector as booleans:

vec1 = np.random.randint(2, size=80).astype(np.uint8).packbits().view(np.bool_)
vec2 = np.random.randint(2, size=80).astype(np.uint8).packbits().view(np.bool_)
hamming_distance = simsimd.hamming(vec1, vec2)
jaccard_distance = simsimd.jaccard(vec1, vec2)

With other frameworks, like PyTorch, one can get a richer type-system than NumPy, but the lack of good CPython interoperability makes it hard to pass data without copies. Here is an example of using SimSIMD with PyTorch to compute the cosine similarity between two bfloat16 vectors:

import numpy as np
buf1 = np.empty(8, dtype=np.uint16)
buf2 = np.empty(8, dtype=np.uint16)

# View the same memory region with PyTorch and randomize it
import torch
vec1 = torch.asarray(memoryview(buf1), copy=False).view(torch.bfloat16)
vec2 = torch.asarray(memoryview(buf2), copy=False).view(torch.bfloat16)
torch.randn(8, out=vec1)
torch.randn(8, out=vec2)

# Both libs will look into the same memory buffers and report the same results
dist_slow = 1 - torch.nn.functional.cosine_similarity(vec1, vec2, dim=0)
dist_fast = simsimd.cosine(buf1, buf2, "bfloat16")

It also allows using SimSIMD for half-precision complex numbers, which NumPy does not support. For that, view data as continuous even-length np.float16 vectors and override type-resolution with complex32 string.

vec1 = np.random.randn(1536).astype(np.float16)
vec2 = np.random.randn(1536).astype(np.float16)
simd.dot(vec1, vec2, "complex32")
simd.vdot(vec1, vec2, "complex32")

When dealing with sparse representations and integer sets, you can apply the intersect function to two 1-dimensional arrays of uint16 or uint32 integers:

from random import randint
import numpy as np
import simsimd as simd

length1, length2 = randint(1, 100), randint(1, 100)
vec1 = np.sort(np.random.randint(0, 1000, length1).astype(np.uint16))
vec2 = np.sort(np.random.randint(0, 1000, length2).astype(np.uint16))

slow_result = len(np.intersect1d(vec1, vec2))
fast_result = simd.intersect(vec1, vec2)
assert slow_result == fast_result

One-to-Many Distances

Every distance function can be used not only for one-to-one but also one-to-many and many-to-many distance calculations. For one-to-many:

vec1 = np.random.randn(1536).astype(np.float32) # rank 1 tensor
batch1 = np.random.randn(1, 1536).astype(np.float32) # rank 2 tensor
batch2 = np.random.randn(100, 1536).astype(np.float32)

dist_rank1 = simsimd.cosine(vec1, batch2)
dist_rank2 = simsimd.cosine(batch1, batch2)

Many-to-Many Distances

All distance functions in SimSIMD can be used to compute many-to-many distances. For two batches of 100 vectors to compute 100 distances, one would call it like this:

batch1 = np.random.randn(100, 1536).astype(np.float32)
batch2 = np.random.randn(100, 1536).astype(np.float32)
dist = simsimd.cosine(batch1, batch2)

Input matrices must have identical shapes. This functionality isn't natively present in NumPy or SciPy, and generally requires creating intermediate arrays, which is inefficient and memory-consuming.

Many-to-Many All-Pairs Distances

One can use SimSIMD to compute distances between all possible pairs of rows across two matrices (akin to scipy.spatial.distance.cdist). The resulting object will have a type DistancesTensor, zero-copy compatible with NumPy and other libraries. For two arrays of 10 and 1,000 entries, the resulting tensor will have 10,000 cells:

import numpy as np
from simsimd import cdist, DistancesTensor

matrix1 = np.random.randn(1000, 1536).astype(np.float32)
matrix2 = np.random.randn(10, 1536).astype(np.float32)
distances: DistancesTensor = simsimd.cdist(matrix1, matrix2, metric="cosine")   # zero-copy, managed by SimSIMD
distances_array: np.ndarray = np.array(distances, copy=True)                    # now managed by NumPy

Element-wise Kernels

SimSIMD also provides mixed-precision element-wise kernels, where the input vectors and the output have the same numeric type, but the intermediate accumulators are of a higher precision.

import numpy as np
from simsimd import fma, wsum

# Let's take two FullHD video frames
first_frame = np.random.randn(1920 * 1024).astype(np.uint8)
second_frame = np.random.randn(1920 * 1024).astype(np.uint8)
average_frame = np.empty_like(first_frame)
wsum(first_frame, second_frame, alpha=0.5, beta=0.5, out=average_frame)

# Slow analog with NumPy:
slow_average_frame = (0.5 * first_frame + 0.5 * second_frame).astype(np.uint8)

Similarly, the fma takes three arguments and computes the fused multiply-add operation. In applications like Machine Learning you may also benefit from using the "brain-float" format not natively supported by NumPy. In 3D Graphics, for example, we can use FMA to compute the Phong shading model:

# Assume a FullHD frame with random values for simplicity
light_intensity = np.random.rand(1920 * 1080).astype(np.float16)  # Intensity of light on each pixel
diffuse_component = np.random.rand(1920 * 1080).astype(np.float16)  # Diffuse reflectance on the surface
specular_component = np.random.rand(1920 * 1080).astype(np.float16)  # Specular reflectance for highlights
output_color = np.empty_like(light_intensity)  # Array to store the resulting color intensity

# Define the scaling factors for diffuse and specular contributions
alpha = 0.7  # Weight for the diffuse component
beta = 0.3   # Weight for the specular component

# Formula: color = alpha * light_intensity * diffuse_component + beta * specular_component
fma(light_intensity, diffuse_component, specular_component,
    dtype="float16", # Optional, unless it can't be inferred from the input
    alpha=alpha, beta=beta, out=output_color)

# Slow analog with NumPy for comparison
slow_output_color = (alpha * light_intensity * diffuse_component + beta * specular_component).astype(np.float16)

Multithreading and Memory Usage

By default, computations use a single CPU core. To override this behavior, use the threads argument. Set it to 0 to use all available CPU cores and let the underlying C library manage the thread pool. Here is an example of dealing with large sets of binary vectors:

ndim = 1536 # OpenAI Ada embeddings
matrix1 = np.packbits(np.random.randint(2, size=(10_000, ndim)).astype(np.uint8))
matrix2 = np.packbits(np.random.randint(2, size=(1_000, ndim)).astype(np.uint8))

distances = simsimd.cdist(matrix1, matrix2,
    metric="hamming",   # Unlike SciPy, SimSIMD doesn't divide by the number of dimensions
    out_dtype="uint8",  # so we can use `uint8` instead of `float64` to save memory.
    threads=0,          # Use all CPU cores with OpenMP.
    dtype="bin8",       # Override input argument type to `bin8` eight-bit words.
)

Alternatively, when using free-threading Python 3.13t builds, one can combine single-threaded SimSIMD operations with Python's concurrent.futures.ThreadPoolExecutor to parallelize the computations. By default, the output distances will be stored in double-precision float64 floating-point numbers. That behavior may not be space-efficient, especially if you are computing the hamming distance between short binary vectors, that will generally fit into 8x smaller uint8 or uint16 types. To override this behavior, use the out_dtype argument, or consider pre-allocating the output array and passing it to the out argument. A more complete example may look like this:

from multiprocessing import cpu_count
from concurrent.futures import ThreadPoolExecutor
from simsimd import cosine
import numpy as np

# Generate large dataset
vectors_a = np.random.rand(100_000, 1536).astype(np.float32)
vectors_b = np.random.rand(100_000, 1536).astype(np.float32)
distances = np.zeros((100_000,), dtype=np.float32)

def compute_batch(start_idx, end_idx):
    batch_a = vectors_a[start_idx:end_idx]
    batch_b = vectors_b[start_idx:end_idx]
    cosine(batch_a, batch_b, out=distances[start_idx:end_idx])

# Use all CPU cores with true parallelism (no GIL!)
num_threads = cpu_count()
chunk_size = len(vectors_a) // num_threads

with ThreadPoolExecutor(max_workers=num_threads) as executor:
    futures = []
    for i in range(num_threads):
        start_idx = i * chunk_size
        end_idx = (i + 1) * chunk_size if i < num_threads - 1 else len(vectors_a)
        futures.append(executor.submit(compute_batch, start_idx, end_idx))

    # Collect results from all threads
    results = [future.result() for future in futures]

Half-Precision Brain-Float Numbers

The "brain-float-16" is a popular machine learning format. It's broadly supported in hardware and is very machine-friendly, but software support is still lagging behind. Unlike NumPy, you can already use bf16 datatype in SimSIMD. Luckily, to downcast f32 to bf16 you only have to drop the last 16 bits:

import numpy as np
import simsimd as simd

ndim = 1536
a = np.random.randn(ndim).astype(np.float32)
b = np.random.randn(ndim).astype(np.float32)

# NumPy doesn't natively support brain-float, so we need a trick!
# Luckily, it's very easy to reduce the representation accuracy
# by simply masking the low 16-bits of our 32-bit single-precision
# numbers. We can also add `0x8000` to round the numbers.
a_f32rounded = ((a.view(np.uint32) + 0x8000) & 0xFFFF0000).view(np.float32)
b_f32rounded = ((b.view(np.uint32) + 0x8000) & 0xFFFF0000).view(np.float32)

# To represent them as brain-floats, we need to drop the second half
a_bf16 = np.right_shift(a_f32rounded.view(np.uint32), 16).astype(np.uint16)
b_bf16 = np.right_shift(b_f32rounded.view(np.uint32), 16).astype(np.uint16)

# Now we can compare the results
expected = np.inner(a_f32rounded, b_f32rounded)
result = simd.inner(a_bf16, b_bf16, "bf16")

Helper Functions

You can turn specific backends on or off depending on the exact environment. A common case may be avoiding AVX-512 on older AMD CPUs and Intel Ice Lake CPUs to ensure the CPU doesn't change the frequency license and throttle performance.

$ simsimd.get_capabilities()
> {'serial': True, 'neon': False, 'sve': False, 'neon_f16': False, 'sve_f16': False, 'neon_bf16': False, 'sve_bf16': False, 'neon_i8': False, 'sve_i8': False, 'haswell': True, 'skylake': True, 'ice': True, 'genoa': True, 'sapphire': True, 'turin': True}
$ simsimd.disable_capability("sapphire")
$ simsimd.enable_capability("sapphire")

Using Python API with USearch

Want to use it in Python with USearch? You can wrap the raw C function pointers SimSIMD backends into a CompiledMetric and pass it to USearch, similar to how it handles Numba's JIT-compiled code.

from usearch.index import Index, CompiledMetric, MetricKind, MetricSignature
from simsimd import pointer_to_sqeuclidean, pointer_to_cosine, pointer_to_inner

metric = CompiledMetric(
    pointer=pointer_to_cosine("f16"),
    kind=MetricKind.Cos,
    signature=MetricSignature.ArrayArraySize,
)

index = Index(256, metric=metric)

Using SimSIMD in Rust

To install, add the following to your Cargo.toml:

[dependencies]
simsimd = "..."

Before using the SimSIMD library, ensure you have imported the necessary traits and types into your Rust source file. The library provides several traits for different distance/similarity kinds - SpatialSimilarity, BinarySimilarity, and ProbabilitySimilarity.

Spatial Similarity: Cosine and Euclidean Distances

use simsimd::SpatialSimilarity;

fn main() {
    let vector_a: Vec<f32> = vec![1.0, 2.0, 3.0];
    let vector_b: Vec<f32> = vec![4.0, 5.0, 6.0];

    // Compute the cosine distance between vectors
    let cosine_distance = f32::cosine(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Cosine Distance: {}", cosine_distance);

    // Compute the squared Euclidean distance between vectors
    let sq_euclidean_distance = f32::sqeuclidean(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Squared Euclidean Distance: {}", sq_euclidean_distance);
}

Spatial similarity functions are available for f64, f32, f16, and i8 types.

Dot-Products: Inner and Complex Inner Products

use simsimd::SpatialSimilarity;
use simsimd::ComplexProducts;

fn main() {
    // Complex vectors have interleaved real & imaginary components
    let vector_a: Vec<f32> = vec![1.0, 2.0, 3.0, 4.0];
    let vector_b: Vec<f32> = vec![5.0, 6.0, 7.0, 8.0];

    // Compute the inner product between vectors
    let inner_product = SpatialSimilarity::dot(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Inner Product: {}", inner_product);

    // Compute the complex inner product between vectors
    let complex_inner_product = ComplexProducts::dot(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    let complex_conjugate_inner_product = ComplexProducts::vdot(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Complex Inner Product: {:?}", complex_inner_product); // -18, 69
    println!("Complex C. Inner Product: {:?}", complex_conjugate_inner_product); // 70, -8
}

Complex inner products are available for f64, f32, and f16 types.

Probability Distributions: Jensen-Shannon and Kullback-Leibler Divergences

use simsimd::ProbabilitySimilarity;

fn main() {
    let vector_a: Vec<f32> = vec![1.0, 2.0, 3.0];
    let vector_b: Vec<f32> = vec![4.0, 5.0, 6.0];

    let jensen_shannon = f32::jensenshannon(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Jensen-Shannon Divergence: {}", jensen_shannon);

    let kullback_leibler = f32::kullbackleibler(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Kullback-Leibler Divergence: {}", kullback_leibler);
}

Probability similarity functions are available for f64, f32, and f16 types.

Binary Similarity: Hamming and Jaccard Distances

Similar to spatial distances, one can compute bit-level distance functions between slices of unsigned integers:

use simsimd::BinarySimilarity;

fn main() {
    let vector_a = &[0b11110000, 0b00001111, 0b10101010];
    let vector_b = &[0b11110000, 0b00001111, 0b01010101];

    // Compute the Hamming distance between vectors
    let hamming_distance = u8::hamming(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Hamming Distance: {}", hamming_distance);

    // Compute the Jaccard distance between vectors
    let jaccard_distance = u8::jaccard(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Jaccard Distance: {}", jaccard_distance);
}

Binary similarity functions are available only for u8 types.

Half-Precision Floating-Point Numbers

Rust has no native support for half-precision floating-point numbers, but SimSIMD provides a f16 type with built-in conversion methods. The underlying u16 representation is publicly accessible for direct bit manipulation.

use simsimd::{SpatialSimilarity, f16};

fn main() {
    // Create f16 vectors using built-in conversion methods
    let vector_a: Vec<f16> = vec![1.0, 2.0, 3.0].iter().map(|&x| f16::from_f32(x)).collect();
    let vector_b: Vec<f16> = vec![4.0, 5.0, 6.0].iter().map(|&x| f16::from_f32(x)).collect();

    // Compute the cosine distance
    let cosine_distance = f16::cosine(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");
    
    println!("Cosine Distance: {}", cosine_distance);

    // Direct bit manipulation
    let half = f16::from_f32(3.14159);
    let bits = half.0; // Access raw u16 representation
    let reconstructed = f16(bits);
    
    // Convert back to f32
    let float_value = half.to_f32();
}

For interoperability with the half crate:

use simsimd::{SpatialSimilarity, f16 as SimF16};
use half::f16 as HalfF16;

fn main() {
    let vector_a: Vec<HalfF16> = vec![1.0, 2.0, 3.0].iter().map(|&x| HalfF16::from_f32(x)).collect();
    let vector_b: Vec<HalfF16> = vec![4.0, 5.0, 6.0].iter().map(|&x| HalfF16::from_f32(x)).collect();

    // Safe reinterpret cast due to identical memory layout
    let buffer_a: &[SimF16] = unsafe { std::slice::from_raw_parts(vector_a.as_ptr() as *const SimF16, vector_a.len()) };
    let buffer_b: &[SimF16] = unsafe { std::slice::from_raw_parts(vector_b.as_ptr() as *const SimF16, vector_b.len()) };

    let cosine_distance = SimF16::cosine(buffer_a, buffer_b)
        .expect("Vectors must be of the same length");

    println!("Cosine Distance: {}", cosine_distance);
}

Half-Precision Brain-Float Numbers

The "brain-float-16" is a popular machine learning format. It's broadly supported in hardware and is very machine-friendly, but software support is still lagging behind. Unlike NumPy, you can already use bf16 datatype in SimSIMD. SimSIMD provides a bf16 type with built-in conversion methods and direct bit access.

use simsimd::{SpatialSimilarity, bf16};

fn main() {
    // Create bf16 vectors using built-in conversion methods
    let vector_a: Vec<bf16> = vec![1.0, 2.0, 3.0].iter().map(|&x| bf16::from_f32(x)).collect();
    let vector_b: Vec<bf16> = vec![4.0, 5.0, 6.0].iter().map(|&x| bf16::from_f32(x)).collect();

    // Compute the cosine similarity
    let cosine_distance = bf16::cosine(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");
    
    println!("Cosine Distance: {}", cosine_distance);

    // Direct bit manipulation
    let brain_half = bf16::from_f32(3.14159);
    let bits = brain_half.0; // Access raw u16 representation
    let reconstructed = bf16(bits);
    
    // Convert back to f32
    let float_value = brain_half.to_f32();

    // Compare precision differences
    let original = 3.14159_f32;
    let f16_roundtrip = f16::from_f32(original).to_f32();
    let bf16_roundtrip = bf16::from_f32(original).to_f32();
    
    println!("Original: {}", original);
    println!("f16 roundtrip: {}", f16_roundtrip);
    println!("bf16 roundtrip: {}", bf16_roundtrip);
}

Dynamic Dispatch in Rust

SimSIMD provides a dynamic dispatch mechanism to select the most advanced micro-kernel for the current CPU. You can query supported backends and use the SimSIMD::capabilities function to select the best one.

println!("uses neon: {}", capabilities::uses_neon());
println!("uses sve: {}", capabilities::uses_sve());
println!("uses haswell: {}", capabilities::uses_haswell());
println!("uses skylake: {}", capabilities::uses_skylake());
println!("uses ice: {}", capabilities::uses_ice());
println!("uses genoa: {}", capabilities::uses_genoa());
println!("uses sapphire: {}", capabilities::uses_sapphire());
println!("uses turin: {}", capabilities::uses_turin());
println!("uses sierra: {}", capabilities::uses_sierra());

Using SimSIMD in JavaScript

To install, choose one of the following options depending on your environment:

  • npm install --save simsimd
  • yarn add simsimd
  • pnpm add simsimd
  • bun install simsimd

The package is distributed with prebuilt binaries, but if your platform is not supported, you can build the package from the source via npm run build. This will automatically happen unless you install the package with the --ignore-scripts flag or use Bun. After you install it, you will be able to call the SimSIMD functions on various TypedArray variants:

const { sqeuclidean, cosine, inner, hamming, jaccard } = require("simsimd");

const vectorA = new Float32Array([1.0, 2.0, 3.0]);
const vectorB = new Float32Array([4.0, 5.0, 6.0]);

const distance = sqeuclidean(vectorA, vectorB);
console.log("Squared Euclidean Distance:", distance);

Other numeric types and precision levels are supported as well. For double-precision floating-point numbers, use Float64Array:

const vectorA = new Float64Array([1.0, 2.0, 3.0]);
const vectorB = new Float64Array([4.0, 5.0, 6.0]);
const distance = cosine(vectorA, vectorB);

When doing machine learning and vector search with high-dimensional vectors you may want to quantize them to 8-bit integers. You may want to project values from the $[-1, 1]$ range to the $[-127, 127]$ range and then cast them to Int8Array:

const quantizedVectorA = new Int8Array(vectorA.map((v) => v * 127));
const quantizedVectorB = new Int8Array(vectorB.map((v) => v * 127));
const distance = cosine(quantizedVectorA, quantizedVectorB);

A more extreme quantization case would be to use binary vectors. You can map all positive values to 1 and all negative values and zero to 0, packing eight values into a single byte. After that, Hamming and Jaccard distances can be computed.

const { toBinary, hamming } = require("simsimd");

const binaryVectorA = toBinary(vectorA);
const binaryVectorB = toBinary(vectorB);
const distance = hamming(binaryVectorA, binaryVectorB);

Using SimSIMD in Swift

To install, simply add the following dependency to your Package.swift:

dependencies: [
    .package(url: "https://github.com/ashvardanian/simsimd")
]

The package provides the most common spatial metrics for Int8, Float16, Float32, and Float64 vectors.

import SimSIMD

let vectorA: [Int8] = [1, 2, 3]
let vectorB: [Int8] = [4, 5, 6]

let dotProduct = vectorA.dot(vectorB)           // Computes the dot product
let cosineDistance = vectorA.cosine(vectorB)    // Computes the cosine distance
let sqEuclidean = vectorA.sqeuclidean(vectorB)  // Computes the squared Euclidean distance

Using SimSIMD in C

For integration within a CMake-based project, add the following segment to your CMakeLists.txt:

FetchContent_Declare(
    simsimd
    GIT_REPOSITORY https://github.com/ashvardanian/simsimd.git
    GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(simsimd)

After that, you can use the SimSIMD library in your C code in several ways. Simplest of all, you can include the headers, and the compiler will automatically select the most recent CPU extensions that SimSIMD will use.

#include <simsimd/simsimd.h>

int main() {
    simsimd_flush_denormals(); // Optional, to avoid performance penalties on denormal numbers

    simsimd_f32_t vector_a[1536];
    simsimd_f32_t vector_b[1536];
    simsimd_kernel_punned_t metric_punned = simsimd_metric_punned(
        simsimd_metric_cos_k,   // Metric kind, like the angular cosine distance
        simsimd_datatype_f32_k, // Data type, like: f16, f32, f64, i8, b8, and complex variants
        simsimd_cap_any_k);     // Which CPU capabilities are we allowed to use
    simsimd_distance_t distance;
    simsimd_metric_dense_punned_t metric = (simsimd_metric_dense_punned_t)metric_punned;
    metric(vector_a, vector_b, 1536, &distance);
    return 0;
}

Dynamic Dispatch in C

To avoid hard-coding the backend, you can rely on c/lib.c to prepackage all possible backends in one binary, and select the most recent CPU features at runtime. That feature of the C library is called dynamic dispatch and is extensively used in the Python, JavaScript, and Rust bindings. To test which CPU features are available on the machine at runtime, use the following APIs:

int uses_dynamic_dispatch = simsimd_uses_dynamic_dispatch(); // Check if dynamic dispatch was enabled
simsimd_capability_t capabilities = simsimd_capabilities();  // Returns a bitmask

int uses_neon = simsimd_uses_neon();
int uses_sve = simsimd_uses_sve();
int uses_haswell = simsimd_uses_haswell();
int uses_skylake = simsimd_uses_skylake();
int uses_ice = simsimd_uses_ice();
int uses_genoa = simsimd_uses_genoa();
int uses_sapphire = simsimd_uses_sapphire();

To override compilation settings and switch between runtime and compile-time dispatch, define the following macro:

#define SIMSIMD_DYNAMIC_DISPATCH 1 // or 0

Spatial Distances: Cosine and Euclidean Distances

#include <simsimd/simsimd.h>

int main() {
    simsimd_i8_t i8s[1536];
    simsimd_u8_t u8s[1536];
    simsimd_f64_t f64s[1536];
    simsimd_f32_t f32s[1536];
    simsimd_f16_t f16s[1536];
    simsimd_bf16_t bf16s[1536];
    simsimd_distance_t distance;

    // Cosine distance between two vectors
    simsimd_cos_i8(i8s, i8s, 1536, &distance);
    simsimd_cos_u8(u8s, u8s, 1536, &distance);
    simsimd_cos_f16(f16s, f16s, 1536, &distance);
    simsimd_cos_f32(f32s, f32s, 1536, &distance);
    simsimd_cos_f64(f64s, f64s, 1536, &distance);
    simsimd_cos_bf16(bf16s, bf16s, 1536, &distance);

    // Euclidean distance between two vectors
    simsimd_l2sq_i8(i8s, i8s, 1536, &distance);
    simsimd_l2sq_u8(u8s, u8s, 1536, &distance);
    simsimd_l2sq_f16(f16s, f16s, 1536, &distance);
    simsimd_l2sq_f32(f32s, f32s, 1536, &distance);
    simsimd_l2sq_f64(f64s, f64s, 1536, &distance);
    simsimd_l2sq_bf16(bf16s, bf16s, 1536, &distance);

    return 0;
}

Dot-Products: Inner and Complex Inner Products

#include <simsimd/simsimd.h>

int main() {
    // SimSIMD provides "sized" type-aliases without relying on `stdint.h`
    simsimd_i8_t i8[1536];
    simsimd_i8_t u8[1536];
    simsimd_f16_t f16s[1536];
    simsimd_f32_t f32s[1536];
    simsimd_f64_t f64s[1536];
    simsimd_bf16_t bf16s[1536];
    simsimd_distance_t product;

    // Inner product between two real vectors
    simsimd_dot_i8(i8s, i8s, 1536, &product);
    simsimd_dot_u8(u8s, u8s, 1536, &product);
    simsimd_dot_f16(f16s, f16s, 1536, &product);
    simsimd_dot_f32(f32s, f32s, 1536, &product);
    simsimd_dot_f64(f64s, f64s, 1536, &product);
    simsimd_dot_bf16(bf16s, bf16s, 1536, &product);

    // SimSIMD provides complex types with `real` and `imag` fields
    simsimd_f64c_t f64cs[768];
    simsimd_f32c_t f32cs[768];
    simsimd_f16c_t f16cs[768];
    simsimd_bf16c_t bf16cs[768];
    simsimd_distance_t products[2]; // real and imaginary parts

    // Complex inner product between two vectors
    simsimd_dot_f16c(f16cs, f16cs, 768, &products[0]);
    simsimd_dot_f32c(f32cs, f32cs, 768, &products[0]);
    simsimd_dot_f64c(f64cs, f64cs, 768, &products[0]);
    simsimd_dot_bf16c(bf16cs, bf16cs, 768, &products[0]);

    // Complex conjugate inner product between two vectors
    simsimd_vdot_f16c(f16cs, f16cs, 768, &products[0]);
    simsimd_vdot_f32c(f32cs, f32cs, 768, &products[0]);
    simsimd_vdot_f64c(f64cs, f64cs, 768, &products[0]);
    simsimd_vdot_bf16c(bf16cs, bf16cs, 768, &products[0]);
    return 0;
}

Binary Distances: Hamming and Jaccard Distances

#include <simsimd/simsimd.h>

int main() {
    simsimd_b8_t b8s[1536 / 8]; // 8 bits per word
    simsimd_distance_t distance;
    simsimd_hamming_b8(b8s, b8s, 1536 / 8, &distance);
    simsimd_jaccard_b8(b8s, b8s, 1536 / 8, &distance);
    return 0;
}

Probability Distributions: Jensen-Shannon and Kullback-Leibler Divergences

#include <simsimd/simsimd.h>

int main() {
    simsimd_f64_t f64s[1536];
    simsimd_f32_t f32s[1536];
    simsimd_f16_t f16s[1536];
    simsimd_distance_t divergence;

    // Jensen-Shannon divergence between two vectors
    simsimd_js_f16(f16s, f16s, 1536, &divergence);
    simsimd_js_f32(f32s, f32s, 1536, &divergence);
    simsimd_js_f64(f64s, f64s, 1536, &divergence);

    // Kullback-Leibler divergence between two vectors
    simsimd_kl_f16(f16s, f16s, 1536, &divergence);
    simsimd_kl_f32(f32s, f32s, 1536, &divergence);
    simsimd_kl_f64(f64s, f64s, 1536, &divergence);
    return 0;
}

Half-Precision Floating-Point Numbers

If you aim to utilize the _Float16 functionality with SimSIMD, ensure your development environment is compatible with C 11. For other SimSIMD functionalities, C 99 compatibility will suffice. To explicitly disable half-precision support, define the following macro before imports:

#define SIMSIMD_NATIVE_F16 0 // or 1
#define SIMSIMD_NATIVE_BF16 0 // or 1
#include <simsimd/simsimd.h>

Compilation Settings and Debugging

SIMSIMD_DYNAMIC_DISPATCH:

By default, SimSIMD is a header-only library. But if you are running on different generations of devices, it makes sense to pre-compile the library for all supported generations at once, and dispatch at runtime. This flag does just that and is used to produce the simsimd.so shared library, as well as the Python and other bindings.

For Arm: SIMSIMD_TARGET_NEON, SIMSIMD_TARGET_SVE, SIMSIMD_TARGET_SVE2, SIMSIMD_TARGET_NEON_F16, SIMSIMD_TARGET_SVE_F16, SIMSIMD_TARGET_NEON_BF16, SIMSIMD_TARGET_SVE_BF16. For x86: SIMSIMD_TARGET_HASWELL, SIMSIMD_TARGET_SKYLAKE, SIMSIMD_TARGET_ICE, SIMSIMD_TARGET_GENOA, SIMSIMD_TARGET_SAPPHIRE, SIMSIMD_TARGET_TURIN, SIMSIMD_TARGET_SIERRA.

By default, SimSIMD automatically infers the target architecture and pre-compiles as many kernels as possible. In some cases, you may want to explicitly disable some of the kernels. Most often it's due to compiler support issues, like the lack of some recent intrinsics or low-precision numeric types. In other cases, you may want to disable some kernels to speed up the compilation process and trim the binary size.

SIMSIMD_SQRT, SIMSIMD_RSQRT, SIMSIMD_LOG:

By default, for non-SIMD backends, SimSIMD may use libc functions like sqrt and log. Those are generally very accurate, but slow, and introduce a dependency on the C standard library. To avoid that you can override those definitions with your custom implementations, like: #define SIMSIMD_RSQRT(x) (1 / sqrt(x)).

Algorithms & Design Decisions 📚

In general there are a few principles that SimSIMD follows:

  • Avoid loop unrolling.
  • Never allocate memory.
  • Never throw exceptions or set errno.
  • Keep all function arguments the size of the pointer.
  • Avoid returning from public interfaces, use out-arguments instead.
  • Don't over-optimize for old CPUs and single- and double-precision floating-point numbers.
  • Prioritize mixed-precision and integer operations, and new ISA extensions.
  • Prefer saturated arithmetic and avoid overflows.

Possibly, in the future:

  • Best effort computation silencing NaN components in low-precision inputs.
  • Detect overflows and report the distance with a "signaling" NaN.

Last, but not the least - don't build unless there is a demand for it. So if you have a specific use-case, please open an issue or a pull request, and ideally, bring in more users with similar needs.

Cosine Similarity, Reciprocal Square Root, and Newton-Raphson Iteration

The cosine similarity is the most common and straightforward metric used in machine learning and information retrieval. Interestingly, there are multiple ways to shoot yourself in the foot when computing it. The cosine similarity is the inverse of the cosine distance, which is the cosine of the angle between two vectors.

\text{CosineSimilarity}(a, b) = \frac{a \cdot b}{\|a\| \cdot \|b\|}
\text{CosineDistance}(a, b) = 1 - \frac{a \cdot b}{\|a\| \cdot \|b\|}

In NumPy terms, SimSIMD implementation is similar to:

import numpy as np

def cos_numpy(a: np.ndarray, b: np.ndarray) -> float:
    ab, a2, b2 = np.dot(a, b), np.dot(a, a), np.dot(b, b) # Fused in SimSIMD
    if a2 == 0 and b2 == 0: result = 0                    # Same in SciPy
    elif ab == 0: result = 1                              # Division by zero error in SciPy
    else: result = 1 - ab / (sqrt(a2) * sqrt(b2))         # Bigger rounding error in SciPy
    return result

In SciPy, however, the cosine distance is computed as 1 - ab / np.sqrt(a2 * b2). It handles the edge case of a zero and non-zero argument pair differently, resulting in a division by zero error. It's not only less efficient, but also less accurate, given how the reciprocal square roots are computed. The C standard library provides the sqrt function, which is generally very accurate, but slow. The rsqrt in-hardware implementations are faster, but have different accuracy characteristics.

  • SSE rsqrtps and AVX vrsqrtps: $1.5 \times 2^{-12}$ maximal relative error.
  • AVX-512 vrsqrt14pd instruction: $2^{-14}$ maximal relative error.
  • NEON frsqrte instruction has no documented error bounds, but can be $2^{-3}$.

To overcome the limitations of the rsqrt instruction, SimSIMD uses the Newton-Raphson iteration to refine the initial estimate for high-precision floating-point numbers. It can be defined as:

x_{n+1} = x_n \cdot (3 - x_n \cdot x_n) / 2

On 1536-dimensional inputs on Intel Sapphire Rapids CPU a single such iteration can result in a 2-3 orders of magnitude relative error reduction:

Datatype NumPy Error SimSIMD w/out Iteration SimSIMD
bfloat16 1.89e-08 ± 1.59e-08 3.07e-07 ± 3.09e-07 3.53e-09 ± 2.70e-09
float16 1.67e-02 ± 1.44e-02 2.68e-05 ± 1.95e-05 2.02e-05 ± 1.39e-05
float32 2.21e-08 ± 1.65e-08 3.47e-07 ± 3.49e-07 3.77e-09 ± 2.84e-09
float64 0.00e+00 ± 0.00e+00 3.80e-07 ± 4.50e-07 1.35e-11 ± 1.85e-11

Curved Spaces, Mahalanobis Distance, and Bilinear Quadratic Forms

The Mahalanobis distance is a generalization of the Euclidean distance, which takes into account the covariance of the data. It's very similar in its form to the bilinear form, which is a generalization of the dot product.

\text{BilinearForm}(a, b, M) = a^T M b
\text{Mahalanobis}(a, b, M) = \sqrt{(a - b)^T M^{-1} (a - b)}

Bilinear Forms can be seen as one of the most important linear algebraic operations, surprisingly missing in BLAS and LAPACK. They are versatile and appear in various domains:

  • In Quantum Mechanics, the expectation value of an observable $A$ in a state $\psi$ is given by $\langle \psi | A | \psi \rangle$, which is a bilinear form.
  • In Machine Learning, in Support Vector Machines (SVMs), bilinear forms define kernel functions that measure similarity between data points.
  • In Differential Geometry, the metric tensor, which defines distances and angles on a manifold, is a bilinear form on the tangent space.
  • In Economics, payoff functions in certain Game Theoretic problems can be modeled as bilinear forms of players' strategies.
  • In Physics, interactions between electric and magnetic fields can be expressed using bilinear forms.

Broad applications aside, the lack of a specialized primitive for bilinear forms in BLAS and LAPACK means significant performance overhead. A $vector * matrix * vector$ product is a scalar, whereas its constituent parts ($vector * matrix$ and $matrix * vector$) are vectors:

  • They need memory to be stored in: $O(n)$ allocation.
  • The data will be written to memory and read back, wasting CPU cycles.

SimSIMD doesn't produce intermediate vector results, like a @ M @ b, but computes the bilinear form directly.

Set Intersection, Galloping, and Binary Search

The set intersection operation is generally defined as the number of elements that are common between two sets, represented as sorted arrays of integers. The most common way to compute it is a linear scan:

size_t intersection_size(int *a, int *b, size_t n, size_t m) {
    size_t i = 0, j = 0, count = 0;
    while (i < n && j < m) {
        if (a[i] < b[j]) i++;
        else if (a[i] > b[j]) j++;
        else i++, j++, count++;
    }
    return count;
}

Alternatively, one can use the binary search to find the elements in the second array that are present in the first one. On every step the checked region of the second array is halved, which is called the galloping search. It's faster, but only when large arrays of very different sizes are intersected. Third approach is to use the SIMD instructions to compare multiple elements at once:

  • Using string-intersection instructions on x86, like pcmpestrm.
  • Using integer-intersection instructions in AVX-512, like vp2intersectd.
  • Using vanilla equality checks present in all SIMD instruction sets.

After benchmarking, the last approach was chosen, as it's the most flexible and often the fastest.

Complex Dot Products, Conjugate Dot Products, and Complex Numbers

Complex dot products are a generalization of the dot product to complex numbers. They are supported by most BLAS packages, but almost never in mixed precision. SimSIMD defines dot and vdot kernels as:

\text{dot}(a, b) = \sum_{i=0}^{n-1} a_i \cdot b_i
\text{vdot}(a, b) = \sum_{i=0}^{n-1} a_i \cdot \bar{b_i}

Where $\bar{b_i}$ is the complex conjugate of $b_i$. Putting that into Python code for scalar arrays:

def dot(a: List[number], b: List[number]) -> number:
    a_real, a_imaginary = a[0::2], a[1::2]
    b_real, b_imaginary = b[0::2], b[1::2]
    ab_real, ab_imaginary = 0, 0
    for ar, ai, br, bi in zip(a_real, a_imaginary, b_real, b_imaginary):
        ab_real += ar * br - ai * bi
        ab_imaginary += ar * bi + ai * br
    return ab_real, ab_imaginary

def vdot(a: List[number], b: List[number]) -> number:
    a_real, a_imaginary = a[0::2], a[1::2]
    b_real, b_imaginary = b[0::2], b[1::2]
    ab_real, ab_imaginary = 0, 0
    for ar, ai, br, bi in zip(a_real, a_imaginary, b_real, b_imaginary):
        ab_real += ar * br + ai * bi
        ab_imaginary += ar * bi - ai * br
    return ab_real, ab_imaginary

Logarithms in Kullback-Leibler & Jensen–Shannon Divergences

The Kullback-Leibler divergence is a measure of how one probability distribution diverges from a second, expected probability distribution. Jensen-Shannon divergence is a symmetrized and smoothed version of the Kullback-Leibler divergence, which can be used as a distance metric between probability distributions.

\text{KL}(P || Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)}
\text{JS}(P, Q) = \frac{1}{2} \text{KL}(P || M) + \frac{1}{2} \text{KL}(Q || M), M = \frac{P + Q}{2}

Both functions are defined for non-negative numbers, and the logarithm is a key part of their computation.

Mixed Precision in Fused-Multiply-Add and Weighted Sums

The Fused-Multiply-Add (FMA) operation is a single operation that combines element-wise multiplication and addition with different scaling factors. The Weighted Sum is its simplified variant without element-wise multiplication.

\text{FMA}_i(A, B, C, \alpha, \beta) = \alpha \cdot A_i \cdot B_i + \beta \cdot C_i
\text{WSum}_i(A, B, \alpha, \beta) = \alpha \cdot A_i + \beta \cdot B_i

In NumPy terms, the implementation may look like:

import numpy as np
def wsum(A: np.ndarray, B: np.ndarray, /, Alpha: float, Beta: float) -> np.ndarray:
    assert A.dtype == B.dtype, "Input types must match and affect the output style"
    return (Alpha * A + Beta * B).astype(A.dtype)
def fma(A: np.ndarray, B: np.ndarray, C: np.ndarray, /, Alpha: float, Beta: float) -> np.ndarray:
    assert A.dtype == B.dtype and A.dtype == C.dtype, "Input types must match and affect the output style"
    return (Alpha * A * B + Beta * C).astype(A.dtype)

The tricky part is implementing those operations in mixed precision, where the scaling factors are of different precision than the input and output vectors. SimSIMD uses double-precision floating-point scaling factors for any input and output precision, including i8 and u8 integers and f16 and bf16 floats. Depending on the generation of the CPU, given native support for f16 addition and multiplication, the f16 temporaries are used for i8 and u8 multiplication, scaling, and addition. For bf16, native support is generally limited to dot-products with subsequent partial accumulation, which is not enough for the FMA and WSum operations, so f32 is used as a temporary.

Auto-Vectorization & Loop Unrolling

On the Intel Sapphire Rapids platform, SimSIMD was benchmarked against auto-vectorized code using GCC 12. GCC handles single-precision float but might not be the best choice for int8 and _Float16 arrays, which have been part of the C language since 2011.

Kind GCC 12 f32 GCC 12 f16 SimSIMD f16 f16 improvement
Inner Product 3,810 K/s 192 K/s 5,990 K/s 31 x
Cosine Distance 3,280 K/s 336 K/s 6,880 K/s 20 x
Euclidean Distance ² 4,620 K/s 147 K/s 5,320 K/s 36 x
Jensen-Shannon Divergence 1,180 K/s 18 K/s 2,140 K/s 118 x

Dynamic Dispatch

Most popular software is precompiled and distributed with fairly conservative CPU optimizations, to ensure compatibility with older hardware. Database Management platforms, like ClickHouse, and Web Browsers, like Google Chrome,need to run on billions of devices, and they can't afford to be picky about the CPU features. For such users SimSIMD provides a dynamic dispatch mechanism, which selects the most advanced micro-kernel for the current CPU at runtime.

Subset F CD ER PF 4FMAPS 4VNNIW VPOPCNTDQ VL DQ BW IFMA VBMI VNNI BF16 VBMI2 BITALG VPCLMULQDQ GFNI VAES VP2INTERSECT FP16
Knights Landing (Xeon Phi x200, 2016) Yes Yes No
Knights Mill (Xeon Phi x205, 2017) Yes No
Skylake-SP, Skylake-X (2017) No No Yes No
Cannon Lake (2018) Yes No
Cascade Lake (2019) No Yes No
Cooper Lake (2020) Yes No
Ice Lake (2019) Yes No Yes No
Tiger Lake (2020) Yes No
Rocket Lake (2021) No
Alder Lake (2021) Partial Partial
Zen 4 (2022) Yes Yes No
Sapphire Rapids (2023) No Yes
Zen 5 (2024) Yes No

You can compile SimSIMD on an old CPU, like Intel Haswell, and run it on a new one, like AMD Genoa, and it will automatically use the most advanced instructions available. Reverse is also true, you can compile on a new CPU and run on an old one, and it will automatically fall back to the most basic instructions. Moreover, the very first time you prove for CPU capabilities with simsimd_capabilities(), it initializes the dynamic dispatch mechanism, and all subsequent calls will be faster and won't face race conditions in multi-threaded environments.

Target Specific Backends

SimSIMD exposes all kernels for all backends, and you can select the most advanced one for the current CPU without relying on built-in dispatch mechanisms. That's handy for testing and benchmarking, but also in case you want to dispatch a very specific kernel for a very specific CPU, bypassing SimSIMD assignment logic. All of the function names follow the same pattern: simsimd_{function}_{type}_{backend}.

  • The backend can be serial, haswell, skylake, ice, genoa, sapphire, turin, neon, or sve.
  • The type can be f64, f32, f16, bf16, f64c, f32c, f16c, bf16c, i8, or b8.
  • The function can be dot, vdot, cos, l2sq, hamming, jaccard, kl, js, or intersect.

To avoid hard-coding the backend, you can use the simsimd_kernel_punned_t to pun the function pointer and the simsimd_capabilities function to get the available backends at runtime. To match all the function names, consider a RegEx:

SIMSIMD_PUBLIC void simsimd_\w+_\w+_\w+\(

On Linux, you can use the following command to list all unique functions:

$ grep -oP 'SIMSIMD_PUBLIC void simsimd_\w+_\w+_\w+\(' include/simsimd/*.h | sort | uniq
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_hamming_b8_haswell(
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_hamming_b8_ice(
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_hamming_b8_neon(
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_hamming_b8_serial(
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_hamming_b8_sve(
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_jaccard_b8_haswell(
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_jaccard_b8_ice(
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_jaccard_b8_neon(
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_jaccard_b8_serial(
> include/simsimd/binary.h:SIMSIMD_PUBLIC void simsimd_jaccard_b8_sve(

License

Feel free to use the project under Apache 2.0 or the Three-clause BSD license at your preference.

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 Distribution

simsimd-6.5.12.tar.gz (186.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

simsimd-6.5.12-cp314-cp314t-win_arm64.whl (65.0 kB view details)

Uploaded CPython 3.14tWindows ARM64

simsimd-6.5.12-cp314-cp314t-win_amd64.whl (90.3 kB view details)

Uploaded CPython 3.14tWindows x86-64

simsimd-6.5.12-cp314-cp314t-musllinux_1_2_x86_64.whl (620.3 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

simsimd-6.5.12-cp314-cp314t-musllinux_1_2_s390x.whl (317.4 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ s390x

simsimd-6.5.12-cp314-cp314t-musllinux_1_2_ppc64le.whl (340.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ppc64le

simsimd-6.5.12-cp314-cp314t-musllinux_1_2_i686.whl (319.8 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

simsimd-6.5.12-cp314-cp314t-musllinux_1_2_aarch64.whl (422.9 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

simsimd-6.5.12-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (584.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simsimd-6.5.12-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (286.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

simsimd-6.5.12-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (297.2 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

simsimd-6.5.12-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl (275.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ i686manylinux: glibc 2.28+ i686

simsimd-6.5.12-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (387.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

simsimd-6.5.12-cp314-cp314t-macosx_11_0_arm64.whl (94.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

simsimd-6.5.12-cp314-cp314t-macosx_10_15_x86_64.whl (105.3 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

simsimd-6.5.12-cp314-cp314-win_arm64.whl (64.8 kB view details)

Uploaded CPython 3.14Windows ARM64

simsimd-6.5.12-cp314-cp314-win_amd64.whl (90.1 kB view details)

Uploaded CPython 3.14Windows x86-64

simsimd-6.5.12-cp314-cp314-musllinux_1_2_x86_64.whl (619.2 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

simsimd-6.5.12-cp314-cp314-musllinux_1_2_s390x.whl (316.1 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ s390x

simsimd-6.5.12-cp314-cp314-musllinux_1_2_ppc64le.whl (338.5 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ppc64le

simsimd-6.5.12-cp314-cp314-musllinux_1_2_i686.whl (318.5 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ i686

simsimd-6.5.12-cp314-cp314-musllinux_1_2_aarch64.whl (421.5 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

simsimd-6.5.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (583.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simsimd-6.5.12-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (285.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

simsimd-6.5.12-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (295.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

simsimd-6.5.12-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl (274.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ i686manylinux: glibc 2.28+ i686

simsimd-6.5.12-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (385.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

simsimd-6.5.12-cp314-cp314-macosx_11_0_arm64.whl (94.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simsimd-6.5.12-cp314-cp314-macosx_10_15_x86_64.whl (105.2 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

simsimd-6.5.12-cp313-cp313t-win_arm64.whl (63.1 kB view details)

Uploaded CPython 3.13tWindows ARM64

simsimd-6.5.12-cp313-cp313t-win_amd64.whl (87.6 kB view details)

Uploaded CPython 3.13tWindows x86-64

simsimd-6.5.12-cp313-cp313t-musllinux_1_2_x86_64.whl (620.2 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

simsimd-6.5.12-cp313-cp313t-musllinux_1_2_s390x.whl (317.3 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ s390x

simsimd-6.5.12-cp313-cp313t-musllinux_1_2_ppc64le.whl (340.0 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ppc64le

simsimd-6.5.12-cp313-cp313t-musllinux_1_2_i686.whl (319.7 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

simsimd-6.5.12-cp313-cp313t-musllinux_1_2_aarch64.whl (422.8 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

simsimd-6.5.12-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (584.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simsimd-6.5.12-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (286.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

simsimd-6.5.12-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (297.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

simsimd-6.5.12-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl (275.3 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ i686manylinux: glibc 2.28+ i686

simsimd-6.5.12-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (387.0 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

simsimd-6.5.12-cp313-cp313t-macosx_11_0_arm64.whl (94.7 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

simsimd-6.5.12-cp313-cp313t-macosx_10_13_x86_64.whl (105.3 kB view details)

Uploaded CPython 3.13tmacOS 10.13+ x86-64

simsimd-6.5.12-cp313-cp313-win_arm64.whl (62.9 kB view details)

Uploaded CPython 3.13Windows ARM64

simsimd-6.5.12-cp313-cp313-win_amd64.whl (87.4 kB view details)

Uploaded CPython 3.13Windows x86-64

simsimd-6.5.12-cp313-cp313-musllinux_1_2_x86_64.whl (619.1 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

simsimd-6.5.12-cp313-cp313-musllinux_1_2_s390x.whl (315.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ s390x

simsimd-6.5.12-cp313-cp313-musllinux_1_2_ppc64le.whl (338.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ppc64le

simsimd-6.5.12-cp313-cp313-musllinux_1_2_i686.whl (318.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

simsimd-6.5.12-cp313-cp313-musllinux_1_2_aarch64.whl (421.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

simsimd-6.5.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (583.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simsimd-6.5.12-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (285.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

simsimd-6.5.12-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (295.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

simsimd-6.5.12-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl (274.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.28+ i686

simsimd-6.5.12-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (385.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

simsimd-6.5.12-cp313-cp313-macosx_11_0_arm64.whl (94.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simsimd-6.5.12-cp313-cp313-macosx_10_13_x86_64.whl (105.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

simsimd-6.5.12-cp312-cp312-win_arm64.whl (62.9 kB view details)

Uploaded CPython 3.12Windows ARM64

simsimd-6.5.12-cp312-cp312-win_amd64.whl (87.4 kB view details)

Uploaded CPython 3.12Windows x86-64

simsimd-6.5.12-cp312-cp312-musllinux_1_2_x86_64.whl (619.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

simsimd-6.5.12-cp312-cp312-musllinux_1_2_s390x.whl (315.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ s390x

simsimd-6.5.12-cp312-cp312-musllinux_1_2_ppc64le.whl (338.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ppc64le

simsimd-6.5.12-cp312-cp312-musllinux_1_2_i686.whl (318.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

simsimd-6.5.12-cp312-cp312-musllinux_1_2_aarch64.whl (421.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

simsimd-6.5.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (583.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simsimd-6.5.12-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (285.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

simsimd-6.5.12-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (295.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

simsimd-6.5.12-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl (274.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.28+ i686

simsimd-6.5.12-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (385.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

simsimd-6.5.12-cp312-cp312-macosx_11_0_arm64.whl (94.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simsimd-6.5.12-cp312-cp312-macosx_10_13_x86_64.whl (105.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

simsimd-6.5.12-cp311-cp311-win_arm64.whl (62.7 kB view details)

Uploaded CPython 3.11Windows ARM64

simsimd-6.5.12-cp311-cp311-win_amd64.whl (87.2 kB view details)

Uploaded CPython 3.11Windows x86-64

simsimd-6.5.12-cp311-cp311-musllinux_1_2_x86_64.whl (619.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

simsimd-6.5.12-cp311-cp311-musllinux_1_2_s390x.whl (316.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ s390x

simsimd-6.5.12-cp311-cp311-musllinux_1_2_ppc64le.whl (338.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ppc64le

simsimd-6.5.12-cp311-cp311-musllinux_1_2_i686.whl (318.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

simsimd-6.5.12-cp311-cp311-musllinux_1_2_aarch64.whl (421.5 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

simsimd-6.5.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (583.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simsimd-6.5.12-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (285.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

simsimd-6.5.12-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (295.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

simsimd-6.5.12-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl (274.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.28+ i686

simsimd-6.5.12-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (385.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

simsimd-6.5.12-cp311-cp311-macosx_11_0_arm64.whl (94.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simsimd-6.5.12-cp311-cp311-macosx_10_9_x86_64.whl (106.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

simsimd-6.5.12-cp310-cp310-win_arm64.whl (62.7 kB view details)

Uploaded CPython 3.10Windows ARM64

simsimd-6.5.12-cp310-cp310-win_amd64.whl (87.2 kB view details)

Uploaded CPython 3.10Windows x86-64

simsimd-6.5.12-cp310-cp310-musllinux_1_2_x86_64.whl (618.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

simsimd-6.5.12-cp310-cp310-musllinux_1_2_s390x.whl (315.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ s390x

simsimd-6.5.12-cp310-cp310-musllinux_1_2_ppc64le.whl (337.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ppc64le

simsimd-6.5.12-cp310-cp310-musllinux_1_2_i686.whl (317.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

simsimd-6.5.12-cp310-cp310-musllinux_1_2_aarch64.whl (420.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

simsimd-6.5.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (582.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simsimd-6.5.12-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (285.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

simsimd-6.5.12-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (295.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

simsimd-6.5.12-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl (273.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.28+ i686

simsimd-6.5.12-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (384.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

simsimd-6.5.12-cp310-cp310-macosx_11_0_arm64.whl (94.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

simsimd-6.5.12-cp310-cp310-macosx_10_9_x86_64.whl (106.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

simsimd-6.5.12-cp39-cp39-win_arm64.whl (62.7 kB view details)

Uploaded CPython 3.9Windows ARM64

simsimd-6.5.12-cp39-cp39-win_amd64.whl (87.2 kB view details)

Uploaded CPython 3.9Windows x86-64

simsimd-6.5.12-cp39-cp39-musllinux_1_2_x86_64.whl (618.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

simsimd-6.5.12-cp39-cp39-musllinux_1_2_s390x.whl (315.0 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ s390x

simsimd-6.5.12-cp39-cp39-musllinux_1_2_ppc64le.whl (337.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ppc64le

simsimd-6.5.12-cp39-cp39-musllinux_1_2_i686.whl (317.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

simsimd-6.5.12-cp39-cp39-musllinux_1_2_aarch64.whl (420.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

simsimd-6.5.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (581.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simsimd-6.5.12-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (284.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

simsimd-6.5.12-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (294.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

simsimd-6.5.12-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl (273.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.28+ i686

simsimd-6.5.12-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (384.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

simsimd-6.5.12-cp39-cp39-macosx_11_0_arm64.whl (94.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

simsimd-6.5.12-cp39-cp39-macosx_10_9_x86_64.whl (106.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

simsimd-6.5.12-cp38-cp38-win_amd64.whl (87.1 kB view details)

Uploaded CPython 3.8Windows x86-64

simsimd-6.5.12-cp38-cp38-musllinux_1_2_x86_64.whl (618.3 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

simsimd-6.5.12-cp38-cp38-musllinux_1_2_s390x.whl (314.9 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ s390x

simsimd-6.5.12-cp38-cp38-musllinux_1_2_ppc64le.whl (337.7 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ppc64le

simsimd-6.5.12-cp38-cp38-musllinux_1_2_i686.whl (317.6 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ i686

simsimd-6.5.12-cp38-cp38-musllinux_1_2_aarch64.whl (420.5 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

simsimd-6.5.12-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (582.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simsimd-6.5.12-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (285.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

simsimd-6.5.12-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (295.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

simsimd-6.5.12-cp38-cp38-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl (273.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686manylinux: glibc 2.28+ i686

simsimd-6.5.12-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (384.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

simsimd-6.5.12-cp38-cp38-macosx_11_0_arm64.whl (94.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

simsimd-6.5.12-cp38-cp38-macosx_10_9_x86_64.whl (106.1 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file simsimd-6.5.12.tar.gz.

File metadata

  • Download URL: simsimd-6.5.12.tar.gz
  • Upload date:
  • Size: 186.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12.tar.gz
Algorithm Hash digest
SHA256 c9b8720c9bc9dcfc36f570c2f96bfd74d1c9e1d0ebeecafc7a130ad3f0affe41
MD5 80f0f541b5554334f1d720b1466c09c6
BLAKE2b-256 a413dbcee7d607cbcfdfdf3a0593bec46479ce4e5957b39c5e81333efe540464

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12.tar.gz:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 65.0 kB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 b198ad2d909f4ffa8202d85446a10fa1cd62560ee39e2467085a8efb33c9c2d0
MD5 f6387646e29258f4e7ed4957656fcfc6
BLAKE2b-256 e2819365fd9d041b166efbc6f440b4c5e470bef9883729842b7519d1e5947c7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-win_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 90.3 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 950340c0a4eb40ea624c53f3787dc969bb64746acc409bef52c7538c007d05f0
MD5 12983a7ac98a9372e35aee58f7fb30af
BLAKE2b-256 3e17f4307a31f4bc2696b5db057a6c6b649001d94f40a3c1ab146a0fe042a557

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c35be7d43dc7145d9af67cbd1bfac03233aaa4d8e235c2406a5fdd4a5853641e
MD5 9bb8ef2f880992c91fe43e8683a38146
BLAKE2b-256 5cc67df56445504ca809fbac66c83555cf94650915125310c596d0c7d8e4ba81

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 64b847204ebaff43c7f302ec08fcb88ed5226bc09381c11adaf00b793a0b369b
MD5 57a9a46b298d9a9d442d8fd3f355927f
BLAKE2b-256 623bebdaab5dd9a8752c4b2ffc4bf8ce960b262da722dab75621671ffb671135

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 fca79e8475ac9f4f4675e26d57425d426b81165403df1e6fe58d6dd2f82ba15b
MD5 2da2ccd95cda2a13895236ad64a8c6e2
BLAKE2b-256 6390319efeebd5a64716618c191a320633467eebd45cfc65c61cbd7eea648a82

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d3a4cb69ebc98847417dc388947b51ba187b241eef2165e05ab63d5979e309ef
MD5 c901aa24306eaeeca07922c8e02e3c9f
BLAKE2b-256 002043d0cfd061763926ab0c1234a994eeeba4ad451b3e04874435a576d1023b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0d1872e35e2bc4349bddff4a12e06dc1880bc7ba6dcb542ba871b224b4fb8956
MD5 6c802e74a34bc98743ce92db83065800
BLAKE2b-256 b3ba3882048c9491999a6e98df585b9877719cf3ae0931db779d09c4ef0aca16

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 59510175feb11a8c03b5d18fa2f7d54879a7c2237ba336fbea3cdf9c810f44a0
MD5 8c7ad40d6ac627dd1bb062d1dfcbb0d9
BLAKE2b-256 4370b055ea8272ba87ff1601a4c71c237ad886602b19a3ec5a10a61f81c68f26

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 cf8f11789f9aabe6a4f5ba918035b97767e1b97c127908da09c56dcbe481b63d
MD5 48620d775c6e0cdbd5c8a0bcf45b6d91
BLAKE2b-256 ecf3df069fc7b83df162913b73d5d88b67a3d25b364609a854190c2151ad7fe9

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 5df1d36a3b9e895e253454c1cee06cd46b47cbaca9f2e2c5ab2f936a0f6f9f92
MD5 ce1f8c5e212d4a460970419eec1eee3d
BLAKE2b-256 57a0aafa134050a4f9129edbcb65beb6e8cdacaadccf3b9ef49a9f534493ccd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 993987ef4a5f30946bb894ba76bc3d0f1e75a4c05f3d67aaaadce8ccb6505116
MD5 1da087d6a781215cdd847b229a21759c
BLAKE2b-256 7ad47a01e31136b80482947e56f1db56e0417ef0d5fe5a697053aeca5b913ed5

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 84681e17d03e3d3636f7f28cbe41659ffa45b20a043363e233776e2ca9f74d05
MD5 a0ff39eeaddbca8a2e6ee7a7de96eba2
BLAKE2b-256 f01d26814258cfd592f0e04528d2d922cd4b70f7efd359990badc5d3e285f377

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 03b4114ce6a7518eaefdf075c9882b0d707b2131b2933bf42eacdee0316d0e71
MD5 f71d932fbc67c76a35baa1fc28846833
BLAKE2b-256 948f75ef56c4e241e58567fabf4683e06ceae6db9950e47642266c20121dddf2

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3ac330771588b23cae042c85c30d1261bb6379bfeca96ef35e2eb9459190b9ef
MD5 0735cb488a6a88a3936cf6cc3813be4a
BLAKE2b-256 03ce0728e46823fbab8bed449d303dd024a32cace1542e900b9a63cf216bfb27

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 64.8 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 06424bbaf21699b1a6e7cab3b62feec492c978503b2559496d1599d7ae9ba874
MD5 58c1a5bd2ef1c238ce89a3ed0a16ac07
BLAKE2b-256 1be0bcc90c115c4a87646a36dd9922bcad51b6cb354bcb92cb53d00531c53679

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-win_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 90.1 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 712be3879a2f3a836f39d81c51fd8caebfae068ab20a23103d0b1faf24ac6fe7
MD5 dd56cb1c5960d69f6ab8944771df4a1c
BLAKE2b-256 78f69371446ea17ccf2c024475e64cea8379d02d907cc96bb7878abc9a49676a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 401e965292b46aa58cca2a601dc1fd1f2274d65cbf89abb8b89deba2d46735f3
MD5 b3af9023c076b7486c893f41cfb8157c
BLAKE2b-256 ce422b5054bd062e54210fd1b4bf3dc3e005edc6835acb9490d77eb76b71bfc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 6974cbfadd790ccff68e5894d9a2f808da80ad70a8b96adccff8591020faabda
MD5 c0da67a7455bd276cc0daf842a8e664b
BLAKE2b-256 75790b895f399e9d98c6a9e4c2195e51715a9366be8a2225d8d6b5d8f996bbd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 91b51b37c2fc5ea7d9fd2cabe313880d62941c4e58071f9ad6b046eccd030442
MD5 417e75841474e27b302c863acaa87056
BLAKE2b-256 9122d7df125b3d3c6e5fca3f34e7944e9a758403fc9bd6a993b2b645a6db42ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8f46fd828b6f2da0002c6758f322d3efd1b334168ae4ef9e7a3a7ff1ec3edf92
MD5 827858aa4c723a97bff3b7ddae616969
BLAKE2b-256 8bbc10d47e67343103651b5203e05beaa075851225f39dfc2deddfcec82e31d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c76fc25f6497f4a1a46567b3722c639dfc25e1f26ee5363bf0a27ab715851070
MD5 496b7599d79b91282920eff1f123e3cf
BLAKE2b-256 aa4071d8ba2dff24aed076b4d49ec93a61c91074234a531169f094df3ed339e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a006be4fc1c102a8dd589a4ec627999456998ee942058c41d4daebed6874ef6b
MD5 680bc6f269acc1b7f399a2104f2bfc95
BLAKE2b-256 bc6e75fc3e5dbf8968c3f3c83b04d62fe2cb1ab0c061641d0230764e2c4340a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 5e6adee5b8b1c983da682cefba234925d0749d7ccccd33cd1a5162428a688724
MD5 3f61207b99bb04a3408cce171f116a13
BLAKE2b-256 63814f16a50e376e949792379b06365f9fa4b3f718401a66d782ddc162f40beb

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 4887dba3cfd2c8294e3033d7e7035e0316d050c513b33f295c3b91519261c23b
MD5 bc1ff8bdc0f005896f92d47153cd4858
BLAKE2b-256 af10b36085578aad1661d459121fa782b6fb6c4f243f45ea6654a91be6295b2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 8c737464ec2f03a7cdd32b3c1ac44e5d16e99e6397d94d93d0d04f8c41cea2df
MD5 1bbc86d888b396a56b13e8a5fbb19928
BLAKE2b-256 49baee8cc9a9b5cd1b14e07c8d7f1a44b85d8cdb1809e193eb49e4c20f9aaa8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1c3ba693578b52745ae91046f8049f89d4f6bfb7fe28a660c5ecda4bfcb057c3
MD5 f97daf6be2271d1e4a947d1b31a7ae44
BLAKE2b-256 240535c7f6252a5cc019e230cb9909f9b6baaf0b074cdaac642b630be056ee3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2dada34cb1b2605fa3137e7bda55ab5031fb0a858fb061d0807a7e183088d9cf
MD5 0ca44edef2716924ebb59db1c74412dd
BLAKE2b-256 0673176cb3a2ce6cf0e16dc46589fdc326e3e3a4ed073037d3af6915e5d123ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 dc4dd5cc13e5972a00b5fe556907f9975c645f8d6c8b732a17003dea85da99cc
MD5 00787e63861533e1ef34122670ce9019
BLAKE2b-256 4d7dea9be2561474db9bbfd70909adbbd6f7e63f85750fc6650ec060c56bc95d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-win_arm64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp313-cp313t-win_arm64.whl
  • Upload date:
  • Size: 63.1 kB
  • Tags: CPython 3.13t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-win_arm64.whl
Algorithm Hash digest
SHA256 31ec8b7ca0e40702585c81541bd7a4f1466d3dec66d28667f887f3a337de3bbe
MD5 f4850ce08121a0b0076632fe23f9e578
BLAKE2b-256 55dfe92fde2ff0a557d802221586b8188d4aaa94f9faca20d4710e1fc8de1629

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-win_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 87.6 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 70907e4d76234f429f17d134b33f63a1610bc6bf110883aa242ed031750b20fc
MD5 58508c437e0834a1852eed88243e37c9
BLAKE2b-256 007896187a761b57fa280e250660650614fa338b55b6fc80319c7687017ca6d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a37f234cc919b3940341a2d87f19ef82a402a8fa4aa5893afe9a11f28a09ad71
MD5 003b018bea562aab350e53acc984d444
BLAKE2b-256 8ba0e9d57ccf8518b2993e239e51805dd489a61b43b59468bf80e463bb48d3ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 87ee147a0fb643ea8c752992c5bb4241311b748570edfef77d2fd7ae4650cfbb
MD5 372a95e327978852e086ef079b7e3c41
BLAKE2b-256 477b55f4649e12fdb08c88029bde0af0f0309d5983f540b4d4209c5adad233b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 0118b09e4c45558a19a759a7668138583faf3ce430ee4692c5e8c73140942a7b
MD5 1a07deb8325a0765beb154f0bca39a08
BLAKE2b-256 d62ec69b98967352458e5d84a5897b01d2cbe4284fb38c2aaa1bf2c67c0b6b55

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 67d2a2c1f95c6e8f1c2085b012af85c6e7f4ff2ed66d682f71c473b49716d5de
MD5 b49acc2c230b38258fb1552415702263
BLAKE2b-256 3a0f43c03819fbe4835275ec4e97df6ecafca6d34e86304047f918a15e006485

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 85d21ac5d86285cca3dc969255c637156def5a7d9f5304f54caaf991506742ca
MD5 44b2d89dc67e595d64b5d2b32a105a80
BLAKE2b-256 138e7e1d6c8c1c00348a67f551d747f2347d538e0750bc5b161bbf216f9ee263

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 120204110cce61f76cefcef595b28a3d1bb25f9989448e3d90738ee3105d819f
MD5 f4fbf0d84890ebcbdc497db943a7fc35
BLAKE2b-256 4cdca755be704c5785d58d67b7ff453589fa9e8da46b5452d837a13cf62c3170

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 8d6eda67e34fef11f45797b67c22964384b0a8c70908d4ae864a5125192c6232
MD5 423bb542aa2a4d60234d105b81b10208
BLAKE2b-256 81029ac94a67969d187de67db0c8c711a62726e1b34d03da6a2dc78655822231

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 9ddb0746e5da08565688ec5816cc55275a809ffa45fd3b9c4ed9bb6c09fabfb0
MD5 7bc62ec7b5f16b517d532dcb6a163531
BLAKE2b-256 37c84a8afc30ef0f4d2220bfb7d74b7680638beb12ef0c05844c6d51c9a039cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 875d82e69abe3d0fbd963bc57afcece480427b2cb931fdf750e5cd06761a53b6
MD5 4e9da974b5fd37b885b9fc36a8ac4bde
BLAKE2b-256 165f2b2ea3465ffa035e60bc42e29c57c6abbaabf15619072f3578e003b0c337

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dfdb17ea48b90c7734f390b869d5cdfc0ab710ad871ead5aa80819a83ceb8784
MD5 fa161448dc6fc2227c262c9d3d489549
BLAKE2b-256 905c91bec33fc5ab733a1a77a5b24d2d0d5fefbcbac27612431afc2a0296749a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3d6d7a684641bd7fda4d8c068c065e3d16aec7faa58896737d0142a2b915e6ee
MD5 34e4e417117fc75c5222286c5eb61865
BLAKE2b-256 4391ebeaca50d08e6800cd8dd8a1c02a18786d0b90f382080ea66db105eb2732

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4bf0ef65e0f990d568c6cf4bed84ec206df19567d961515774e0ec7960c30738
MD5 f25196217f8355ef99c260c93c702f53
BLAKE2b-256 cf252abcac2dcb481c7229213467889e897d8cdf67ab4b484fb8767a332d7295

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313t-macosx_10_13_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 62.9 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 5ffade91550d04308fae8ef0a396252e5e876144589dd77148f67f3b21ac79e4
MD5 124a5dda0519dbb3ca9e6340f20dfb80
BLAKE2b-256 1e8851e7674d6a9f65c9cfc4314bfa3d407e54a16c537adcc02ba0cd9c11c478

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-win_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 87.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 124254489c425a8871d764b4ffe2c7c05ef58502b48f488979a376b81449b0a3
MD5 ad6686804c3399ed69d9d4c33af25f5a
BLAKE2b-256 fd729dc175596c67c7dbc810ce256902f03ee9b680fb33c28d85205e93a9b1ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 29a63aef87157638e6859c97284ca9aa97820f706c89f5a618a40d9158003123
MD5 009ea11739cf66de091c39ecb15dcd9c
BLAKE2b-256 91c66fd5f450a4c03a109e7a63345d7c1c2a98741ba1934fa9ce94cae6049d12

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 bf2f3831c3711305d41526225339833214003a9a952b3cbe68c78089417928c0
MD5 996e5d7eb3672405244d62c712ba1cf1
BLAKE2b-256 356cffec40c90e42504c7846640ba83a1384c4c1444810ef8b25c4cd6def8bc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 e46589f15e85a19c94e273dfb2c2b88ddd1e0d933000fdf15af2222d846e484c
MD5 7b43a58a158fa10f909ceeeee1c2268f
BLAKE2b-256 77db905072ebde6f1497fe972c272e85249826509a9870205a2c2dea5fbe6b62

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bc74c27c170c8c81c411d6eb3ba47847d7392471f4051f30c818929e9a471a30
MD5 51d32e7590ff6f34ae1cbfe7ac7a2aef
BLAKE2b-256 04abf464bc8a9f3967b9a7d5f4f30c017ccf21cf9bf62b33906d47d8a2ebdda1

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0d884a90c0b6aef70289790258c189df52add4dc9afbbbf690c3e3799708e71a
MD5 8f77d4ef9c72cbd1de3800eb75029267
BLAKE2b-256 2243f17aa241328c3de707203e55c0e9c64cc4d32f52189f4e08bc071efc362d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d4739ebd2241f45d3a32fc3cd9d6353426052fe5e66e39dbe8c9451880e78b43
MD5 e9feda262bc2dcaa07ece8a5f800aa84
BLAKE2b-256 5a11573e1783486c73ae86e28ec302c5e1ec36f3ddd4ee6a3bf2d86e10c8c313

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 f85e7045007b3601d1d5c65295bb729a48ca2c49de437d4f287773e291ccc524
MD5 b80afd68ab0fd01377f1579f1c0c9e13
BLAKE2b-256 b1eae9debe4f50cbfbba9e2f302984500cddb934bd42cc93e3628d5771963cfd

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 a57aaaf2c53fc06ed32d25ee1fb81c9f9b037bae9c844a634790faef8121c207
MD5 96826ad5819162c8f003b73c121abc56
BLAKE2b-256 270f9a4645f13b4a8fd9142da225e278c8247daf1b96d54ff97d1d1742945d3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 868f91627d26bd06469329b5f87d7d5a9fabaffcccefbcd65ebf0174cb771240
MD5 93cbb40c0f22853a7a58855d055cfc20
BLAKE2b-256 4d4d81f341d7494d0dde08b026083b281dd969a5348bdd18e718333fdc040d33

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 80adba6c6c769a933ad14137ffc1c6c1f521ccf9cd579392c9741f0cbbb875ff
MD5 9292ea830e66a2f7506c99c67e82d353
BLAKE2b-256 66e1571a2409143202b74e95884c5d12a7130b3e43f954f7d77c9662a84e605d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 429b121b164c82e3562d0bcf6b37b1d5c813b13c3cef76badf1d244199b4b787
MD5 0e43b2886c0f2221c6c7a2dabf4b6d2b
BLAKE2b-256 c97979b14fbad6c2de70e6c16a479adaa44a91fc1cd3175a3314ce1d3a6f38e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 cfea2844bae8fc49ac5f5ae5764b9b5f31b2da6fcb3f9ac74588d468df371ea4
MD5 e43ec4943b1e5e91ca08ee5ab4559956
BLAKE2b-256 34a2dc962526923347f831c9596c0dacff0310505b4b5b12cc55fa865f131f7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 62.9 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 001c24e6a575223f9fac0860b61eb4b153d399b54d54a6cba619966d113681fc
MD5 2e75bb90604f5b3bece5d18047b93218
BLAKE2b-256 39867c492c15b304daf5b235b7a82aba0df7c13807aee8bda8ec1666f685e1eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-win_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 87.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 baf13245f8b625be0ed440fd67e3d438b2409167992bac09b08dde2019917489
MD5 cc80dc4b6e011538d6b4b08bc0d4eabf
BLAKE2b-256 b7c5551b4965982cb440f08f6ba2ae9d6e919cbd6d604962f5f3dffe922bcd8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a8b1714c4cd3475e85a70c9b5d89b0c6244dd2e0bdcd12850c9e2b894bce425f
MD5 73d904e667b876139c57fe5a36ec1574
BLAKE2b-256 94270bc510f629961dd217f5544adf3b7fe209785926119ee9e277da31e9082f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 7c72dee3b815b68ac0dc8fc806d45ba4d86985a67f7c96de318dfbe5fe890b51
MD5 e8fa3fae8a8237beeae0fa44cba79c2c
BLAKE2b-256 2b415ec5147f8b20c9dc487770692560135d8003205a415d1ee5cff7309fbba0

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 b8a8c15bb3e137bed63c9d212609f0e5453ed52caf5e08b0d18804b5ae706a16
MD5 38e0ee56b2ea229fd7bff13d91c6163d
BLAKE2b-256 5857b9245ebfa35e9f0ebf23085ce21330dd24add5560719156d2873a29e4181

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1b4213afc55a8658eb4a4f8af6ae74f3d22166470a3c90b16b2ad1056b3bb368
MD5 667fcba2bdba600bdb0b6b369d75d984
BLAKE2b-256 f19e1f816cbfdd98b3bc7b2aec866f6c34ed958fe61d38876b9ec83509543b59

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ba817741a998810381540aa605cc0975a064ff25a12df97113180b4eb6cf6ffa
MD5 2fcd1c56d12f8b5381a09324fbaa04f6
BLAKE2b-256 6e010dda71460b7414fbd3f5522dcee7b406d5acc309060c5f146e4d6aff9881

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9d7213a87303563b7a82de1c597c604bf018483350ddab93c9c7b9b2b0646b70
MD5 912272630447b0ba134cd679a41807fa
BLAKE2b-256 c290f66c0f1d87c5d00ecae5774398e5d636c76bdf84d8b7d0e8182c82c37cd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 559a5c53ac2353281746905c9c2b763db1df5b38ca040740cd50e2fdd32320c9
MD5 94027353d2620468be2d19452dfab5f7
BLAKE2b-256 7f0b5b84d21461e5591616dc720ab1ef45b73367ff203860ca575511ad09db31

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 e3446d79773525627bf218bf30114dc60599e496c9a9bb02aa61f96b137ecc41
MD5 72cfcec8bc990089f9f2223be6ce25e3
BLAKE2b-256 5312f28f9afb95e4497759ef5507f1d8f53bc486476c7e2db4a9199d4389779f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 1b9a2b7b63820e289d0e5df28d9331058c2ae898917faf59f52ff07a47d882a2
MD5 8caf109a2e281f77bc566dbefa224c3c
BLAKE2b-256 3f74c485204fb2a6208059a774d42787462d1be74b1cc51b9c76d9680f7a6ef1

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8c780491ea8f927ba6d20dce9d29f1eeab8e0eee1a4306d844a3a1db03ea1a05
MD5 6700d0ec4661a765a7494178b3d14af0
BLAKE2b-256 4429019063f8b962f227c8d2dd40e84a074bc4007b0ae55bf8a260648c9d839e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ec6fcccc99f06e4dff5bd3af8b3d290e5199e7b6414e0c050fa52e5ae2797940
MD5 36c5404112b55d79e9a9fe6197507453
BLAKE2b-256 6b55cd16b42861c58c52b39da6806b820ed48a817ce966fc9ed4ad5c16543519

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 63df722f710d9adfa4d4a46772da203d7854b55ca4fd45c3fee149b546e1b56b
MD5 abee0127ba967a59be5627a1d4579432
BLAKE2b-256 9fbe3636d31575a48e75d6a3f52836739bf02f930843a7455ea9515d83a4618f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 62.7 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 e627231da9ebc49e56a2a39a686fe07a4869f4837115a2a67a0688303225551e
MD5 b030175be5861a17edc480fa12cf4c9c
BLAKE2b-256 1621f4bf0f8c90e78d059c8bf246488afa4ab9457ee562bd439852ddd5c179cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-win_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 87.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d32708b7ccce52a08a99c407655a1b2e231c068c677b797d2598df6598a7463f
MD5 32c96e82dd9136513059850d90e4d1f5
BLAKE2b-256 af982e5bfe60801e7fd1e309de1b05ab212656cf1b85658505038e4923feff93

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d1578066a67c9d60b6e11a4f99583137d08fce5dc019de8a8ee3afa79bc28fb1
MD5 54da8dbcb623fdb82e3c4fe596c2447d
BLAKE2b-256 90ef1271d30dca05f94f8c26a2556578b8603175ea3748fd966e2e1f454c6a8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 8980279708596544d762dc437f52c8c4ead45620400eedd8adc7704bf6799d5e
MD5 ad56fdcf2c1af62f45883e8c5ae8ecbd
BLAKE2b-256 09855fa34d2093e41298faaca07364f6e87728da3926b252b6d117368d1d4162

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 626cdb06607082ac20f8eb0724228531c49a881a9ca473a683ff6e7edbf3c10e
MD5 88579c69e308bb0e53564965c867dfc7
BLAKE2b-256 afe68a5fd37d4724ecb36d81f63b20ac933f82b07f515ecfbfbbbcec4d4ea8d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 9b06145f02628aed758b708dc2e86bf21736688441637ac891de58cfc576d606
MD5 09655fa85974dc9146b420c989d590d0
BLAKE2b-256 ee8c3644bba31ffbfebe86d6ac9c389a25c48de9852652d433af2de3b6cff248

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e01b707a3b755addf7bc4c72bca3c69a37ce16f37e370701ffb2d1dcc696238b
MD5 a893c1d9204023f4bc68be9930c78a7b
BLAKE2b-256 4b81f0eedaebf3147e2490c903eb816388f372f0d77a4476d9f1d11bdf03b37d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 672478af4aebfc932a5a38c4f7a49ed0579591be5eab7b61dec2601a89c93f53
MD5 a36d0d3e555276a4dcd01ecb0934369c
BLAKE2b-256 35c364afba86e6ebe195653a7834447131e0226f8df7cfee28e8b384392e3b2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 890480b76333d099a69617bbab5f6ce24c48c29020efabc79a1be31ce567a209
MD5 ba489c0a892b8d7cf5258f9cc6ed03d9
BLAKE2b-256 75d1c7355fd8d9fc30124bef1cd1d1ad78f05741bd0363150b3fce8c4945ad62

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 9127875491bb00c4499ce686fc15611f2e887f25191580f60839b4f79971cc8f
MD5 287afa0e1a7b8bd36ca9dc236efb1489
BLAKE2b-256 5b2cc5cba05586dbf3f537ea804aba0e322d9ae6a8c7379a63d4889ab504e0f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 71b1d861b401a779f197386588af2ab6cc6e7bec817e5bbfc8989f8476b83db6
MD5 96086ffeb3bd52d996526f3120db2b60
BLAKE2b-256 5c8e46fc44e7eb265e3e722d53310c49b76f6cb80cb84494049edf4bd16868de

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 befedf61c3a832ba517abe577f10d6666da2afdf9d3a3487dffa2830306850c2
MD5 ec0d3cdd526aa909aeb834f2b015dbad
BLAKE2b-256 7b8fc234b8c1f2728b59ddbb1e83e4f0f6f621c2c6281741e37496c3dd94ebdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d62031303404cb6282488b19c8199fe93511c9442774ecd86b819c8d4ae26aa
MD5 c8d5b57600b7604e36792c842aaa1ef2
BLAKE2b-256 1607967e2471af0d970d303921aa12b962b8fd58375429751f1d1164cddfc4c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 93d0c3e06f525c3c57c33353d18e28a602f8a1a64b47a5326d7696a4f9746e54
MD5 6716ab28bbc8cf589ebd507723b5018f
BLAKE2b-256 e9167ec9c660e72297af5a192cc5d0570993b626a3f06d58b0a21852e9d97adc

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 62.7 kB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 6abc1d86221f25d26812c5ed8023cb7db7caf003bdda30c8e90020bdb2e2675e
MD5 110358f38e08c15adcdce9bf7f0f4227
BLAKE2b-256 c1804f58d4121c569c0492fdd4b1e3ddc62d0bed5e1a6eb3aea6e7c76ab01f18

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-win_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 87.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8544a2bbcd94ca939dc1214d833d7d914ce936f587e398650fd191a641564a62
MD5 8c516682b66283ea5eae7555d6ccbfbb
BLAKE2b-256 8af0a6e78778101c2ef7070c79eae06a129ef7bb2c0021546bd915f3e9faae1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d3c883d4e6773f63312bc2982c3df08e5ff3241f95f22b663d39e575a425fe41
MD5 a59ea5627c6c397ba5d52ba3baffe963
BLAKE2b-256 4f8af1afcddbe3b50404cab9aaf97f05e8e7647dae1e5f13a2297b2c265e6f7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 1a836920c2be6a8eefdced37846e6d8cbc5f1b96a951698673b701d0fda7410d
MD5 3459a7ca2c4e4613be5c97c31189ec32
BLAKE2b-256 61ec7a1326948c230e23ae8b722bcbae99d9dd6e2d94b47a2d773b12d74e55e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 29a6538072af2ec188b41c10332e85f1daf24fee019c442d7e60ed3c4a915060
MD5 cbd9d91b896ed8c7d0d78edfaaa17288
BLAKE2b-256 9b50fd7a34de88ffc3103c0c3cc5840d8aa8f0175a20dc2db493050f1af72844

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8b6162d39a4bbde70d4756e91a8b23a9dfced29aa28d947375588c454c87c076
MD5 b524d9723af2e826a0c584aec7594143
BLAKE2b-256 a80b9f25ddc3ac0978bd6b6fa9423011f9289566c3f86fdd7ed129c780ec0f5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 567e4b50f6ad1ce30727ee74599b11acc21ed8863fce21150429145ba1aa71f1
MD5 af47cc8015cdeaa0002e7b027d647fb0
BLAKE2b-256 21340d5281f345fecad56cb333e82ff01ca6a43746982182f5a8fba34c47f3be

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 864a16e2ebf45c0ae6ecc89f3a798de871ae56b29fcb8a448754781256b80fd6
MD5 7d204605ec81573580c2b1b67c495936
BLAKE2b-256 6da084e128cc7be66797132c1279fc359a581e54c3b86f71e7e13604e006d8de

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 5705edf0a4fd11399c63c8a94fa6808fcb78903eb2d665ed68f950c1702a8421
MD5 ab435d595562fac5107817ccbe1cf53a
BLAKE2b-256 0db20a444636b31227442833e8d1bee761c419f9b55d2e13ea4c59e51edbe124

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 10c322d2c3164f82e41e0bd11883660ac73026b07d63ba6a6c7f5ed09f97c83d
MD5 a88f1d65e2ca5d528bcf4d69beecc252
BLAKE2b-256 24a6e9f4f5dc76af942d63b6355da9ec02fd69f59a6260c054f1c3cd04eb95b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 4a4f9b128edab78a093fff1ccfa1b6e2cfa67b5e95df8ebdd769c4c6ff8346dd
MD5 a9d8ffd205859851ad50b057417c03e7
BLAKE2b-256 57952dc78ee7286bb7702e12c181780c66610ddbe9aaa2ae54b8afecdc71be44

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a323f78514c673b1f7203c5b3ac790548e443e63a8ffa54cc37bd6681e7136e3
MD5 a63fa44b42fa1ceb1563f4b411d861bc
BLAKE2b-256 f4e22fab39b24f806029782750bd2321b7b5bbee4aaf36d24dc97dea7bdc5371

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9932e3f613bc9b2a168d138dd471f9b200c00c0f17c43ffcb3cff64427e121c
MD5 524e58ee5715e39a996b8117b6fb7003
BLAKE2b-256 fb027dc1df5d5418a73c9d9b1e93a3a443c31d19b9764e9c25b38778541e9a13

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3c0ca16b56471273f9371cc037d3bdaad011d658910dcbe95a155a19225a58ea
MD5 371d221906117e24161f3baad6a81762
BLAKE2b-256 48bde74191ef929f0f817a5ea22024a721b12c5dd70f6b2edc830ecd705707e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-win_arm64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp39-cp39-win_arm64.whl
  • Upload date:
  • Size: 62.7 kB
  • Tags: CPython 3.9, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 541dccac5b1e19c2a646db84d8f4829c16c82cee50a830b5233989f54cdcd4ce
MD5 54bfb39188bb9b0fb1af2da1a7b0f2a7
BLAKE2b-256 86c871180ffe1ade6da11bba1afd1b769f1cab6d6964f070e618f053391a3f6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-win_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 87.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 391cabc6a9efa7d01fd52aac9d0a479c17d110b0358651c140a67c39621b8ce3
MD5 955eef46a082c28af39e305820480f0f
BLAKE2b-256 e02bc38ccfff7198e585e587f66805d9bc5a9a03d2fbec95653be54084948155

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 370430da650d974048e044eb1859b3f9f094367b86133c0e3da405e7a7d8b4c0
MD5 724f09667c9d3630cc4d04c851c6bb06
BLAKE2b-256 7bf613366db219f9499abdfc514c9d9a0cc35d5b0e6cfbdfa4afa0d328ba9f62

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 9e91210c255f546101f3f5c761d95be5c9d6859de47c0be6280a72ba905316aa
MD5 6d4605620a5a157a6c2325eec7d8e9a2
BLAKE2b-256 ddc15c7ffc844da531985aa623519f40b6cd8ea5c38d6cb6ef90ad6184b2aae0

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 f895f523982fbc5db8a7f05518ca1821c5430e637c1421943b4c082111624ccd
MD5 33a9264bd8f974d15ba6236cfb165049
BLAKE2b-256 22f3eed4e9d9c37fd2678a28f92f741a1d67c03edc0c5a6b3830477662e4d41d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e265d78f37099a82daa7726db3b0a5be64c74bbdb0a98a3677e81a6acafa032a
MD5 65fa898dca57ee0137855784413eaa91
BLAKE2b-256 ece9d2b1234a0f7a8c67ed17a79c71fac524850a6a409ab03d14b79e70a6a76b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b6dd3b4c7cede1f9fde0361fea46de51b62ef0e9c6b94d23980073640e9ce3a4
MD5 283a5fe7008cc90fd0f251e263ac7540
BLAKE2b-256 328f794bb8388b489ded6782ae287a4536ab0be828c597040edad25a8a3b3fad

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eac4a99cb7b6c367d8ba818c2b8892108f8187565b15eef42ac9a3a864e52757
MD5 4c737c8ff61fb068579239e27e6d8a4b
BLAKE2b-256 cb2ccf76e5ed0083adddb67df2662fb3c64038ffd5577c660f76a173279b1f54

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 47440acf411fb2a5b4559a23edc28f75d33ec57bd9c0631d2ae0bf08d5bca1f5
MD5 d02110933f4369d35e582e28635efa61
BLAKE2b-256 03812a8e44e3bfaba9f23b3bd38074386b792a60e5ae69b8aebb7b0c31e48219

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 66958c584949f61d4df44cc7812611f3182ce2a3c76043c3a9b59c82fab3d848
MD5 0cb339793918946019ad182c90f886a3
BLAKE2b-256 db5f3c99fa5e9523fffb9fc3262a5fed05789cb519a4c93e29e0e34617bc783e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 dffb3367fa05f4f455c95342d588ef8fabe9a3da200ce7153bec733ff6def5cd
MD5 88f57285303e3eca85ed6d270ee369ed
BLAKE2b-256 ccccebe5e24da95c85dc9671bdb2004de4f6ca1d49c90a4a7884e7ed6d929416

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 06b093cf5b22aa815091a8e58e73a4cb6b5875aac1a22436014c6f4a3e6c4f5e
MD5 3314013a260a6b221ecbee715375cddf
BLAKE2b-256 6f94ebc5bfb8cfc4f334e75c20142bb2572255c007bb958d10c0eaf3f9f49ea0

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f67108ad550c2f77c36b71603e086cb54019df99f3ce014e1fe475e871e5f63
MD5 191d14ab530ff141abb39ac5dd3ba487
BLAKE2b-256 a9f8df4a05d782a4067219018af0a964f0b84c5f5d0ef783f8c3992ac78ed7cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 02c92ddbf6ae25aba6c30d7640c866ed7240209bc37462486a7f99055f54ccd3
MD5 283d7766aaa8b606136418753c4fcb81
BLAKE2b-256 702bc5f87dbdc284da636faf3cc930c063d26b14a9e8e78c1fdf4ef4f587f315

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: simsimd-6.5.12-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 87.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c57d0ba911fec2276fcab9e528f28f70a19238471e2323883bc4b4b268bddf06
MD5 6facbe6fb474d562aae5fb2e25d01e45
BLAKE2b-256 495ee2610c698d34884eb5f2646cf8d510c821c13d2a7a7235c299629d6d6bea

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6814a7b1c9f43eb08722d07e6593a89ed3a3fba0037e743c62133b608094e43d
MD5 221614ee8aa3ccb9f9b0c9a765ee9f51
BLAKE2b-256 14733f36051243a1c5b1fbaf66fa37e666ff7435ddc233e972c46afde719f71c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 170d97f14c416bcfd5970d439a03d90d30a1e0250859d4c8e4c4d24e0391d2a3
MD5 5233cca3e523719175c9e80179d45279
BLAKE2b-256 47ae2be711605b4a696449fb110019901d92ca481b348f32e085c5c409ea5118

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 2876bab4941d1474cfa22c12f1246570804c3f18c273f767cef5c214ce9a79ab
MD5 04e440cd35f01ed4f6b5a22b4f8657cc
BLAKE2b-256 617ac620bb9430091d57a68e35a3baf5c86cdeeccf2797fd1a37fd7166ced83a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e0ff16944a9c9985f0bd91611a1c871ae5e15281a9c107c9e71ecc8227e46d0b
MD5 603595115e00ccde6893948d06e19092
BLAKE2b-256 41fca8e5959b8b2151c1ee851e9837f0391c16471c6b655a9bb61c6d3ea17e15

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c51ccf40f70c2e6229ac7b71a150d23da590204dfddff513cf9cf0fc62148609
MD5 c3f73342e2b80168b622f0c678875976
BLAKE2b-256 c85ecac198a6d87722afc9edf398a6d7c166d85ef8af84ca9705fffa45391107

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05d9a6805fe3992e600d71de3e0963ba7e474c1fa86e6f1bc69d8047be9d40ea
MD5 56d8291c0ad00b37b882eef71ecfcbe9
BLAKE2b-256 3aad0a5a46f7a48fedb25456ef8b8a8624c6ebd0baca3ac3653386b689dae446

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 93ba6575accf6256ad609098d7134bc4bd91c0aa7372495915d5b46ec3e96eae
MD5 bb9a3cb9f33a4156f148ea3784a551d8
BLAKE2b-256 5a1fcdf2017f26e65bfa21a952b2e48fbe8de95d53a5fd358480521f66edda17

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 51ef0bf0512d05b48055848777e6cff29eb31a3ebbefa6991f349dfce704ff63
MD5 430aaaf5db8f03af6db95c8ef34e5ea9
BLAKE2b-256 953af07afb332c665c9b53a556dfb1d4ac8910d1cf513e2798a96b98d7a30c56

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 10085df3ace91f16bb38f61333984957f496afbeaf5ce43aa3a791c31c60de5e
MD5 7e4222604ab605d63c5071c666743ef3
BLAKE2b-256 29fc6c29d4baba74e0a98245a90f1986622bad2a26741527b20fa418b2b9e539

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 332f34ed9b5b1fcf72ba280eff4ad0a30b807ca4731e52533d3fdb153cc0db43
MD5 c4f9981b121239d6e4f598211717bdaf
BLAKE2b-256 7726cc278c20fb7aa0b528792524f2f79449e5ca8abb7dd42109f8eb7a6c7c07

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee0ff6768d0aa216d83dc1b9f3e6561f9bddc3d030f3da1d20a4dd1e1e8a0f24
MD5 73f11232918806572f7538d73f6359cc
BLAKE2b-256 5d61e595f1ffe5e1b294a339d29350abdfea47dbebcf07c77627f0cfc625ea0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simsimd-6.5.12-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.5.12-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 37d056c9cf6d7c4c98455f3870c87361f862aa02ed76daeb5e02623e1fc35510
MD5 5b97369ceeeed639fb0d2003f3dece7d
BLAKE2b-256 f9daf32b67215ccf1c9a3c8a3a0d24da6d008bcf221b2ab936253db4b07f0489

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.5.12-cp38-cp38-macosx_10_9_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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