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, Geo-Spatial 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 compiles to more platforms than NumPy (105 vs 35) 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 200 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

For reference, we use 1536-dimensional vectors, like the embeddings produced by the OpenAI Ada API. Comparing the serial code throughput produced by GCC 12 to hand-optimized kernels in SimSIMD, we see the following single-core improvements for the two most common vector-vector similarity metrics - the Cosine similarity and the Euclidean distance:

Type Apple M2 Pro Intel Sapphire Rapids AWS Graviton 4
float64 18.5 → 28.8 GB/s
+ 56 %
21.9 → 41.4 GB/s
+ 89 %
20.7 → 41.3 GB/s
+ 99 %
float32 9.2 → 29.6 GB/s
+ 221 %
10.9 → 95.8 GB/s
+ 779 %
4.9 → 41.9 GB/s
+ 755 %
float16 4.6 → 14.6 GB/s
+ 217 %
3.1 → 108.4 GB/s
+ 3,397 %
5.4 → 39.3 GB/s
+ 627 %
bfloat16 4.6 → 26.3 GB/s
+ 472 %
0.8 → 59.5 GB/s
+7,437 %
2.5 → 29.9 GB/s
+ 1,096 %
int8 25.8 → 47.1 GB/s
+ 83 %
33.1 → 65.3 GB/s
+ 97 %
35.2 → 43.5 GB/s
+ 24 %
uint8 32.5 → 66.5 GB/s
+ 105 %

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 available 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, kulbackleibler, 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. 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.
)

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 dtype argument.

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 similarity between vector_a and vector_b
    let cosine_similarity = f32::cosine(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Cosine Similarity: {}", cosine_similarity);

    // Compute the squared Euclidean distance between vector_a and vector_b
    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() {
    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 vector_a and vector_b
    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 complex_vector_a and complex_vector_b
    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::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];

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

    println!("Cosine Similarity: {}", cosine_similarity);

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

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

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 vector_a and vector_b
    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 vector_a and vector_b
    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. It has no functionality - it is a transparent wrapper around u16 and can be used with half or any other half-precision library.

use simsimd::SpatialSimilarity;
use simsimd::f16 as SimF16;
use half::f16 as HalfF16;

fn main() {
    let vector_a: Vec<HalfF16> = ...
    let vector_b: Vec<HalfF16> = ...

    let buffer_a: &[SimF16] = unsafe { std::slice::from_raw_parts(a_half.as_ptr() as *const SimF16, a_half.len()) };
    let buffer_b: &[SimF16] = unsafe { std::slice::from_raw_parts(b_half.as_ptr() as *const SimF16, b_half.len()) };

    // Compute the cosine similarity between vector_a and vector_b
    let cosine_similarity = SimF16::cosine(&vector_a, &vector_b)
        .expect("Vectors must be of the same length");

    println!("Cosine Similarity: {}", cosine_similarity);
}

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

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")

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());

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 Sift

To install, simply add the following dependency to you 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 cosineSimilarity = vectorA.cosine(vectorB)  // Computes the cosine similarity
let dotProduct = vectorA.dot(vectorB)           // Computes the dot product
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_f32_t vector_a[1536];
    simsimd_f32_t vector_b[1536];
    simsimd_kernel_punned_t distance_function = 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;
    distance_function(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_f64_t f64s[1536];
    simsimd_f32_t f32s[1536];
    simsimd_f16_t f16s[1536];
    simsimd_i8_t i8[1536];
    simsimd_distance_t distance;

    // Cosine distance between two vectors
    simsimd_cos_i8(i8s, i8s, 1536, &distance);
    simsimd_cos_f16(f16s, f16s, 1536, &distance);
    simsimd_cos_f32(f32s, f32s, 1536, &distance);
    simsimd_cos_f64(f64s, f64s, 1536, &distance);
    
    // Euclidean distance between two vectors
    simsimd_l2sq_i8(i8s, i8s, 1536, &distance);
    simsimd_l2sq_f16(f16s, f16s, 1536, &distance);
    simsimd_l2sq_f32(f32s, f32s, 1536, &distance);
    simsimd_l2sq_f64(f64s, f64s, 1536, &distance);

    return 0;
}

Dot-Products: Inner and Complex Inner Products

#include <simsimd/simsimd.h>

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

    // Inner product between two vectors
    simsimd_dot_f16(f16s, f16s, 1536, &distance);
    simsimd_dot_f32(f32s, f32s, 1536, &distance);
    simsimd_dot_f64(f64s, f64s, 1536, &distance);

    // Complex inner product between two vectors
    simsimd_dot_f16c(f16s, f16s, 1536, &distance);
    simsimd_dot_f32c(f32s, f32s, 1536, &distance);
    simsimd_dot_f64c(f64s, f64s, 1536, &distance);

    // Complex conjugate inner product between two vectors
    simsimd_vdot_f16c(f16s, f16s, 1536, &distance);
    simsimd_vdot_f32c(f32s, f32s, 1536, &distance);
    simsimd_vdot_f64c(f64s, f64s, 1536, &distance);
    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 distance;

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

    // Kullback-Leibler divergence between two vectors
    simsimd_kl_f16(f16s, f16s, 1536, &distance);
    simsimd_kl_f32(f32s, f32s, 1536, &distance);
    simsimd_kl_f64(f64s, f64s, 1536, &distance);
    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 it's 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(

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.1.1.tar.gz (156.8 kB view details)

Uploaded Source

Built Distributions

simsimd-6.1.1-cp313-cp313-win_arm64.whl (57.2 kB view details)

Uploaded CPython 3.13 Windows ARM64

simsimd-6.1.1-cp313-cp313-win_amd64.whl (82.9 kB view details)

Uploaded CPython 3.13 Windows x86-64

simsimd-6.1.1-cp313-cp313-win32.whl (52.8 kB view details)

Uploaded CPython 3.13 Windows x86

simsimd-6.1.1-cp313-cp313-musllinux_1_2_x86_64.whl (643.1 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

simsimd-6.1.1-cp313-cp313-musllinux_1_2_s390x.whl (310.4 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ s390x

simsimd-6.1.1-cp313-cp313-musllinux_1_2_ppc64le.whl (381.5 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ ppc64le

simsimd-6.1.1-cp313-cp313-musllinux_1_2_i686.whl (336.7 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ i686

simsimd-6.1.1-cp313-cp313-musllinux_1_2_armv7l.whl (262.5 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ ARMv7l

simsimd-6.1.1-cp313-cp313-musllinux_1_2_aarch64.whl (450.3 kB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ ARM64

simsimd-6.1.1-cp313-cp313-manylinux_2_28_x86_64.whl (606.8 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.28+ x86-64

simsimd-6.1.1-cp313-cp313-manylinux_2_28_aarch64.whl (411.1 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.28+ ARM64

simsimd-6.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (221.0 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ s390x

simsimd-6.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (290.4 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ppc64le

simsimd-6.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (243.4 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686

simsimd-6.1.1-cp313-cp313-macosx_11_0_arm64.whl (87.7 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

simsimd-6.1.1-cp313-cp313-macosx_10_13_x86_64.whl (97.6 kB view details)

Uploaded CPython 3.13 macOS 10.13+ x86-64

simsimd-6.1.1-cp313-cp313-macosx_10_13_universal2.whl (160.5 kB view details)

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

simsimd-6.1.1-cp312-cp312-win_arm64.whl (57.2 kB view details)

Uploaded CPython 3.12 Windows ARM64

simsimd-6.1.1-cp312-cp312-win_amd64.whl (82.9 kB view details)

Uploaded CPython 3.12 Windows x86-64

simsimd-6.1.1-cp312-cp312-win32.whl (52.8 kB view details)

Uploaded CPython 3.12 Windows x86

simsimd-6.1.1-cp312-cp312-musllinux_1_2_x86_64.whl (643.1 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

simsimd-6.1.1-cp312-cp312-musllinux_1_2_s390x.whl (310.4 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ s390x

simsimd-6.1.1-cp312-cp312-musllinux_1_2_ppc64le.whl (381.5 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ppc64le

simsimd-6.1.1-cp312-cp312-musllinux_1_2_i686.whl (336.7 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

simsimd-6.1.1-cp312-cp312-musllinux_1_2_armv7l.whl (262.5 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARMv7l

simsimd-6.1.1-cp312-cp312-musllinux_1_2_aarch64.whl (450.3 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

simsimd-6.1.1-cp312-cp312-manylinux_2_28_x86_64.whl (606.8 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

simsimd-6.1.1-cp312-cp312-manylinux_2_28_aarch64.whl (411.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ ARM64

simsimd-6.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (221.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

simsimd-6.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (290.4 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

simsimd-6.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (243.4 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

simsimd-6.1.1-cp312-cp312-macosx_11_0_arm64.whl (87.7 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

simsimd-6.1.1-cp312-cp312-macosx_10_13_x86_64.whl (97.6 kB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

simsimd-6.1.1-cp312-cp312-macosx_10_13_universal2.whl (160.4 kB view details)

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

simsimd-6.1.1-cp311-cp311-win_arm64.whl (57.0 kB view details)

Uploaded CPython 3.11 Windows ARM64

simsimd-6.1.1-cp311-cp311-win_amd64.whl (82.6 kB view details)

Uploaded CPython 3.11 Windows x86-64

simsimd-6.1.1-cp311-cp311-win32.whl (52.7 kB view details)

Uploaded CPython 3.11 Windows x86

simsimd-6.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (642.8 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

simsimd-6.1.1-cp311-cp311-musllinux_1_2_s390x.whl (310.1 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ s390x

simsimd-6.1.1-cp311-cp311-musllinux_1_2_ppc64le.whl (381.3 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ppc64le

simsimd-6.1.1-cp311-cp311-musllinux_1_2_i686.whl (336.5 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

simsimd-6.1.1-cp311-cp311-musllinux_1_2_armv7l.whl (262.2 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARMv7l

simsimd-6.1.1-cp311-cp311-musllinux_1_2_aarch64.whl (450.0 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

simsimd-6.1.1-cp311-cp311-manylinux_2_28_x86_64.whl (606.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

simsimd-6.1.1-cp311-cp311-manylinux_2_28_aarch64.whl (410.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARM64

simsimd-6.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (220.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

simsimd-6.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (290.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

simsimd-6.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (242.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

simsimd-6.1.1-cp311-cp311-macosx_11_0_arm64.whl (87.7 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

simsimd-6.1.1-cp311-cp311-macosx_10_9_x86_64.whl (98.2 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

simsimd-6.1.1-cp311-cp311-macosx_10_9_universal2.whl (161.2 kB view details)

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

simsimd-6.1.1-cp310-cp310-win_arm64.whl (55.6 kB view details)

Uploaded CPython 3.10 Windows ARM64

simsimd-6.1.1-cp310-cp310-win_amd64.whl (82.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

simsimd-6.1.1-cp310-cp310-win32.whl (52.8 kB view details)

Uploaded CPython 3.10 Windows x86

simsimd-6.1.1-cp310-cp310-musllinux_1_2_x86_64.whl (642.8 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

simsimd-6.1.1-cp310-cp310-musllinux_1_2_s390x.whl (310.1 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ s390x

simsimd-6.1.1-cp310-cp310-musllinux_1_2_ppc64le.whl (381.3 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ppc64le

simsimd-6.1.1-cp310-cp310-musllinux_1_2_i686.whl (336.5 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

simsimd-6.1.1-cp310-cp310-musllinux_1_2_armv7l.whl (262.3 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARMv7l

simsimd-6.1.1-cp310-cp310-musllinux_1_2_aarch64.whl (450.0 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

simsimd-6.1.1-cp310-cp310-manylinux_2_28_x86_64.whl (606.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

simsimd-6.1.1-cp310-cp310-manylinux_2_28_aarch64.whl (410.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARM64

simsimd-6.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (220.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

simsimd-6.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (290.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

simsimd-6.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (242.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

simsimd-6.1.1-cp310-cp310-macosx_11_0_arm64.whl (87.7 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

simsimd-6.1.1-cp310-cp310-macosx_10_9_x86_64.whl (98.2 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

simsimd-6.1.1-cp310-cp310-macosx_10_9_universal2.whl (161.2 kB view details)

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

simsimd-6.1.1-cp39-cp39-win_arm64.whl (55.6 kB view details)

Uploaded CPython 3.9 Windows ARM64

simsimd-6.1.1-cp39-cp39-win_amd64.whl (82.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

simsimd-6.1.1-cp39-cp39-win32.whl (52.7 kB view details)

Uploaded CPython 3.9 Windows x86

simsimd-6.1.1-cp39-cp39-musllinux_1_2_x86_64.whl (642.6 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

simsimd-6.1.1-cp39-cp39-musllinux_1_2_s390x.whl (309.9 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ s390x

simsimd-6.1.1-cp39-cp39-musllinux_1_2_ppc64le.whl (381.1 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ppc64le

simsimd-6.1.1-cp39-cp39-musllinux_1_2_i686.whl (336.3 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

simsimd-6.1.1-cp39-cp39-musllinux_1_2_armv7l.whl (262.0 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARMv7l

simsimd-6.1.1-cp39-cp39-musllinux_1_2_aarch64.whl (449.8 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

simsimd-6.1.1-cp39-cp39-manylinux_2_28_x86_64.whl (606.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

simsimd-6.1.1-cp39-cp39-manylinux_2_28_aarch64.whl (410.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ARM64

simsimd-6.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (220.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

simsimd-6.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (289.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

simsimd-6.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (242.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

simsimd-6.1.1-cp39-cp39-macosx_11_0_arm64.whl (87.7 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

simsimd-6.1.1-cp39-cp39-macosx_10_9_x86_64.whl (98.2 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

simsimd-6.1.1-cp39-cp39-macosx_10_9_universal2.whl (161.2 kB view details)

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

simsimd-6.1.1-cp38-cp38-win_amd64.whl (82.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

simsimd-6.1.1-cp38-cp38-win32.whl (52.7 kB view details)

Uploaded CPython 3.8 Windows x86

simsimd-6.1.1-cp38-cp38-musllinux_1_2_x86_64.whl (642.8 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

simsimd-6.1.1-cp38-cp38-musllinux_1_2_s390x.whl (310.1 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ s390x

simsimd-6.1.1-cp38-cp38-musllinux_1_2_ppc64le.whl (381.3 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ppc64le

simsimd-6.1.1-cp38-cp38-musllinux_1_2_i686.whl (336.5 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

simsimd-6.1.1-cp38-cp38-musllinux_1_2_armv7l.whl (262.2 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARMv7l

simsimd-6.1.1-cp38-cp38-musllinux_1_2_aarch64.whl (450.0 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

simsimd-6.1.1-cp38-cp38-manylinux_2_28_x86_64.whl (607.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

simsimd-6.1.1-cp38-cp38-manylinux_2_28_aarch64.whl (411.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ARM64

simsimd-6.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (220.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

simsimd-6.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (290.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

simsimd-6.1.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (243.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

simsimd-6.1.1-cp38-cp38-macosx_11_0_arm64.whl (87.7 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

simsimd-6.1.1-cp38-cp38-macosx_10_9_x86_64.whl (98.2 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

simsimd-6.1.1-cp38-cp38-macosx_10_9_universal2.whl (161.2 kB view details)

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

simsimd-6.1.1-cp37-cp37m-win_amd64.whl (82.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

simsimd-6.1.1-cp37-cp37m-win32.whl (52.7 kB view details)

Uploaded CPython 3.7m Windows x86

simsimd-6.1.1-cp37-cp37m-musllinux_1_2_x86_64.whl (642.2 kB view details)

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

simsimd-6.1.1-cp37-cp37m-musllinux_1_2_s390x.whl (309.6 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ s390x

simsimd-6.1.1-cp37-cp37m-musllinux_1_2_ppc64le.whl (380.7 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ ppc64le

simsimd-6.1.1-cp37-cp37m-musllinux_1_2_i686.whl (336.0 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ i686

simsimd-6.1.1-cp37-cp37m-musllinux_1_2_armv7l.whl (261.7 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ ARMv7l

simsimd-6.1.1-cp37-cp37m-musllinux_1_2_aarch64.whl (449.4 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ ARM64

simsimd-6.1.1-cp37-cp37m-manylinux_2_28_x86_64.whl (606.4 kB view details)

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

simsimd-6.1.1-cp37-cp37m-manylinux_2_28_aarch64.whl (410.9 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.28+ ARM64

simsimd-6.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (220.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ s390x

simsimd-6.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (290.1 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ppc64le

simsimd-6.1.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (243.1 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

simsimd-6.1.1-cp37-cp37m-macosx_10_9_x86_64.whl (98.2 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: simsimd-6.1.1.tar.gz
  • Upload date:
  • Size: 156.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1.tar.gz
Algorithm Hash digest
SHA256 0dea053294952519e16adcf0e80a39e266ced2f7687aab9fe5d557592894caaf
MD5 1d4b11ea68f0f517a6b047e3ef5fd0d6
BLAKE2b-256 1070903140c48a0e0f7a91bd9d6bdd1dbd9aa5ba93f6f3ff16ca8cb11c98c731

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

  • Download URL: simsimd-6.1.1-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 57.2 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 c37424153b73c15118e53cc6d8a92dffbf06bbaba5a9199083d21e92a0f880dd
MD5 2e89b94539eabdd2d25aef99ea0be1e3
BLAKE2b-256 e00608b099c95c23e58177397e8b5c7fc9693aecb0d4a028438e0f7efe3184a1

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

  • Download URL: simsimd-6.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 82.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4e985dd281aef36bf7d6b6063e16a9f7c97d1b1fc0f871780c0cf82bda7b7680
MD5 f4918285b206a604c0b4ba415921ffd5
BLAKE2b-256 5d2f3db2c9138f1644c6609a8bd147786a2ac54768b14cb92f60e9f8985539f8

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp313-cp313-win32.whl.

File metadata

  • Download URL: simsimd-6.1.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 52.8 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 53739e2eae410e450caa3f5b6096c240501b5269fe0f884afff31f4bae37be68
MD5 e3229eac58bd32d5d12b605d707873ea
BLAKE2b-256 ff46c6e2a82e5042380c495b854fa406ab121f41de5b20a098fdd9257ef184d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp313-cp313-win32.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 236a8141d4bda45c17b7da027d990c5c58774420a3fa66973b09bdb0ea1276d4
MD5 eb6ff0d89208bddaec0eb9a63d1c01fc
BLAKE2b-256 c6f61595b53305a04a5fd27dc512ac4eba7d339e1b17d5ff446489c798a0dd74

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 d3108ac0834e2372b254006d043702e5033c6d94000784b1f5d05ebebd05efba
MD5 e8a2cdd7b95230c700ecdaeb29f12adf
BLAKE2b-256 27338b9724bcc21aef9bb37f67691537bb9315a77d05e23094294511723298a3

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 0af1c1fd4bedb1d7587c3004f903e12eebeb177b78acbe7df32089a246ce5981
MD5 7809811a9065928987eff6e4adb472f0
BLAKE2b-256 df1b1e01bd23151059ab1e2a7010fcf3336d702b239d45be943b7ac0e16b7ff7

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 de66d0ca0ad8deaab17bfe156944d9b2e43d07f0dea60752b09f61e065a96e4b
MD5 16010b4e24fe2483d7571d6d32a68bcb
BLAKE2b-256 cb2344f8d007a4f0647427188dee5f91ad143186df7f872322d00e76f676dcc2

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp313-cp313-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 3ebc0ffd50ebb22648c7bcddab2d436edff117d90bced7227cde56c45d638f8e
MD5 f7e9e5b50c6843150eb75a59f54ce3d3
BLAKE2b-256 4b4ebfde54b322b825391f96e23170124e6b29dd82a56622458c3b7bd3f451a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp313-cp313-musllinux_1_2_armv7l.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b15d96b055520af1c5f8d18588d3a0a3976f717ec9076814056592e350e30a05
MD5 550a9b464a71879357bed503f7aed943
BLAKE2b-256 f105b5b2fb5abb2a325c4932c76815cf6779f853d43ac1e4f62b273042624a03

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1e2765717b16526680096e6498ed695bb609e31d2a454fad22af7e39990dff40
MD5 7e9c0408aeef926506c9d332ffdd29bb
BLAKE2b-256 f5e5a55fab2979a2eca1348daba53b6f5d17d816a531040f84e5506b8c4269c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6fb38b85e5a49935916d4bea3302afeecd4f8f7a80229b6d61801c33b86cb8a7
MD5 35b390979ade52b05872346f7c26fb3d
BLAKE2b-256 a71ad0ea89cffe016d09513e16dccb8f8488663f79a3a4993ab31988bcfedbce

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e74cae003cb56b93c6048ad308c999c282cf0830d2161c755a60d5f13c5ffb06
MD5 047a0e5a3ab5a73709c1e578357ca9d3
BLAKE2b-256 5aaf51ca3cf16efec07fda9cab5bca69024ccaf82db89eac217c3db39fc5a268

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f11d0eea03c74010eade1e6c7f8574f9bdeccedd36b2d396046dd38a9a53e444
MD5 8ff4ef574f7abfd9e95522b14918d981
BLAKE2b-256 2d037ee41a30b68bcbca772420db7486b34deffbfe73f19806e254fbac72353f

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 78f7ef532193fda2ca06a38829f5441958cd4361814e54769d336538008fc18f
MD5 5ac505edb626021964bab829263f190f
BLAKE2b-256 43ae1672ac502f5c58a11003c2761896fc841e4e4d934ce43551eb20bdf71f99

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6fa5d29dc03d13969ef7268379bcf026e376155415adda8bf3b2160d09c52349
MD5 20e00887d5584fc4685646fa5f4761fa
BLAKE2b-256 1e2b83e271c5f41659ddd30b2363539bed99011a4b433ccf3a83f6a29a9d2fc9

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 33525f8dc1a07f3fa86ed23560ab7c82cd04c61fdf5425a929afc6af2d24bbcc
MD5 5e3b84e7eae66d7a150402f5b2f8bf81
BLAKE2b-256 7acba5f03ec3a843faf771f7611c9f30161d3e5a0cc1af4a1ccb0bcedb789f28

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 834a5ed9a69e34b6e8adc9e261e44f5c2766ce766acc0a828dfce2e13c77131a
MD5 f37c01179b979937f5df465466934fa6
BLAKE2b-256 f006e9801e3f458adda24d8f7f4b8a872ce6f80aa216b286c52fbfcda02768e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 0dcd78c4213412d39bb0efd8857adf909f082e7d35e3eb3abd7839dd72788500
MD5 9cba221122aa163c061dc1d3a10dbf90
BLAKE2b-256 2588a85ab6bda597aac5a80c3607bfc41e7c2fc25639eb22a76d6cccdd4c00ee

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9d2932871dae5a61da2e0163d17d4f9755e9af778249ac1b1ab61772ab8b7047
MD5 2f490c9fe3cccabe063e274606e2e5a4
BLAKE2b-256 7a164f426e6aad2b173e3336ef2e83bcb13de2ffa3362e251dd8b3528d4e292f

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: simsimd-6.1.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 52.8 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 60c24639b6af1ba63f5ca32e9f41505c7749171175d4fe8b483a56465fb8bfe1
MD5 ed568061436713cbeff140f6a851d276
BLAKE2b-256 35f435e31841284044e5b9fb64b070b5717154c8bca074107e0e55b3d3372f2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp312-cp312-win32.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f1af5e99a9ee48376c78fb0bd9b97007036e379274d75ca876fb6a44203a6bd2
MD5 5b5f9a10f746859403541f451d5bbcd7
BLAKE2b-256 8fd23511ee756f25dec6dad2d3cdd1fa73b2f1cbd26f1b21523b1601e4662a3f

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 733b27cca8344eb016d81512db29c11c9d78e59d3d4d6da9851a6de68dcd8282
MD5 ea735a0aa7988047906ba1af3ceedb56
BLAKE2b-256 05ff5536dccbefeb1dad08a11ba5e038e4aaad7c8272eac248d30d812646d60a

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 5a26e4bbe0b3f0f938886113b0b708349b029a7635fd63d1898a6f43bc793556
MD5 6f934e458aec35aaa455d2887256fa48
BLAKE2b-256 a45366b1fe34872cb4f5d3dfa077f4a23182eff091ef6c2dc6d18b1268f968af

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0ed3e08cd7740e321575f69602711a3e8a8f3587e49278c346620bd048d80de4
MD5 8dbfc13ed22e8284a5d2d9c6b3b0dd19
BLAKE2b-256 2c90c7fb8987d27bb224106587a79caca84385dc71cf50a44a244f917c972a01

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp312-cp312-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 ad725e6d1d4c8baefbf43f386c585625b9dc7ec49edceff309c20ffd81b7482e
MD5 665574c8f70917b23ccac0495b78c0b1
BLAKE2b-256 638032400bb550ce301e0dac9651f569af40cb4a3ce89f6c16b7273d218ea9df

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp312-cp312-musllinux_1_2_armv7l.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3499328a4cb4cdd275bb4d197fca879b7f81d3669077493e037f59c7adc50f9b
MD5 0697e01808248dff65c3a1a944a5a866
BLAKE2b-256 0ff55fa57c267aab336541af7db3254e5c11c4e3fcc7c45fbb81a3af371b1f71

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 671601f2622e4ef83e6f105703e4e97dc6eb0a4f212120505f4316a0c48ccab3
MD5 1791071a8bc44a2a9662a62d9902fa12
BLAKE2b-256 ea9da67e70101e86f768161342b4d9368cedae483c2bd7b601189eb04b80c59e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5c88de3a1289bdd50bb156ac92642e1aecf24ae4ae99887bda83fd78d9a8871d
MD5 ada39ff712a391840fdf3d4aacb3da31
BLAKE2b-256 74a7a194258b9b491718dcca5144c4cf87291e5bbefac413607779af24fbfe2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 205129c20d11a3b21d45a978a1c1791dc6f362b2f0e3e8b5d7d63d1426e42415
MD5 62b9d12bf1c629bd6924f9c64c17344b
BLAKE2b-256 d2c0bc4fc69c3dfdc82427c1bad83098fae3a7eb5b3aa5d905e80454e12d4d00

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bdc4f8cf769420e2677280eface956b9e351ddeead571a6a6d07a2bbbafaeaed
MD5 13ad30c165f92b083c30a448cdaae9da
BLAKE2b-256 496cdd70ea4791abe3cf7a2c955f51940398120600b630ffeddf8d44fd403d0e

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 15a2e97e3ba044aa74e758182ffcc8077002f84f13e708ff3ea8d5cbe9de0f82
MD5 07e011c1d59600f0319b03450888bb21
BLAKE2b-256 e9575964fcf9e5f364b53c03031d8998a9c8d83f3ea49e4804d786be54606472

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af189f81f93a26f1ac28984f33739ceb237dbc3d94da873b7eb21da969e266aa
MD5 6f87af5dc523059828566ae802963aa2
BLAKE2b-256 b3111358fe6bfba82de9ee1d99373064d17af4d88850f692c6c2b4e33104758d

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9b65c59379db2375634bf4802b538f9d41e7054401222c4016d874f24c1ba57a
MD5 b19fa956b008a18110e1790c906b3057
BLAKE2b-256 7cab92c0ae881713f749fdbc2c8359fbaa87ce0dff6bbcbce001bc7db3e27677

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 355a1d79beacf6ea1b402af9ed833a744efebe27a447234feb74f16a424a9bef
MD5 453406652369ce5d1005831b6b9d571d
BLAKE2b-256 e4f992fc95a75e95513367dbb892e77c281dd18d475b656342763466bb67ae70

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 1e8eb7efe04d00c590a29a40aa1529c1a71f36df53b189adca2855296c22fb80
MD5 cd2b6d7988046fdaf10cebfa03fbc3f3
BLAKE2b-256 39182dfd5b1ca17eb9f7ab93afe1f09c8cafbe8bd8e48599aa225a88e9fea6d9

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 868ed84084fa4b160ddb1ea1b9a1d34ef2311019fffe8b2c939c04301a769dee
MD5 ced3979be2b384ac61c858f936f7064c
BLAKE2b-256 b201d5457e0ef7dd6cab761e4221161a3c07054b8e1e745f08c7b20b5cae1071

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: simsimd-6.1.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 52.7 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 310b0f8c508d12bad49fae936e5e026b59a33f8d7b40853f856a4a7d69c5e99e
MD5 666834fdc94958377721d644d5aae918
BLAKE2b-256 0115ab62b3ad6baf185ecef83be5c9a1f05e7089c151f7ecde4bb35f15be943a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp311-cp311-win32.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 379f295e8c5d91fff2c4b56ae55656b7acbabf66f4cace4830325ea8cdcd1d48
MD5 8f78118e62f090b37b857a59421839be
BLAKE2b-256 0dedea04d75814bcd0e4ab84ba1f1850afbfc72915601a889095cc8ff32eea64

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 92742802e2ac6ed6af51a13740e47b1e7f20abc1b1cac05076763a688f056cd9
MD5 1e20e36763047bc928d57825ccf3a481
BLAKE2b-256 4a94c8ac04dcb6c03533440702d321dbb5e7054c39d0422203617448725bbce3

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 51117a1bea65c04eae79a5536f129e0c7eb3626d478ae171a48db8d8dca3b00c
MD5 2e5e84b52b928294e4133d6331529f39
BLAKE2b-256 7caef2f4fc8402387989989c653db4f130b44db8d0ae6ccdbea2ee0409e2b740

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c457196af152e8af66994716ef731861aaa4f63684d76bd3d54e4a9e76160745
MD5 f3c70f323d0943f0a2910751fce64621
BLAKE2b-256 e9a365e9fb0cfed9b0cd0f7e0fe1ccb6e5bacc1252eae5872fac3b62f02db39a

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp311-cp311-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 44cdba1b6088369c8acc22eba79f8326bde500ce021fc8c27675df7e0e3baf79
MD5 3646d43b2e37b96d45254638cf1e6745
BLAKE2b-256 3a0acbf334502f3c1912ce304393a5186df65378cc0240836a4090ca6ed74924

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp311-cp311-musllinux_1_2_armv7l.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4e2b1331de8600784bc19cd95adf454e243b1cebaf30d2972fad2d51588902c8
MD5 689825da431d362d576b10a662af86e5
BLAKE2b-256 0cb574e34d33ec9d8520d9830a6f30351a9fc7438cf491cddd22382a97dcd27f

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47222ae2005770328d0831a311118a66a7289bd2cd109c0398ee0cb17d12f4a5
MD5 96e8d272ade75b692a94195458021889
BLAKE2b-256 20178c788fe940e5a17c9061b5824d67d5aea3adef955d2469526c77f75ccc5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7eb3e3c5af677142e3498705e41bf5d0c872a55fbbb52ecf8217fabd3a1abfa4
MD5 322194b51d86da5361aac45292c8aefa
BLAKE2b-256 7492d244c538732c9e460dece608a3a81556c4ca2c497e53e89ab0b16e5d1b01

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 acfbaa64208bbbd1c617eb649704c5fea023a78aa8d14b0e0d83a8b4ce1ace67
MD5 8f1ebb7082c09119259ede298bce0918
BLAKE2b-256 b67a4027bba28dc3ef1590d0e4843db5c917d57596fe8fbbec4f001444df1679

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5c63e1c53a31bffa71af573c41ce1f26a26c1b1a743af3ca5b3c40d54adb6da5
MD5 a42aa896bd0dfe0272d14e2e6225ed35
BLAKE2b-256 f8559760104044b5e629d6ca6f558e487e16429968aebc888521c177f68dbce2

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 97fcc29b24ef2b522c6605dfb56eed29cd675846f98f0e05647eaeca780a54ac
MD5 dafa4699440effebb405fea67e7f653c
BLAKE2b-256 1e9fdcabdae6d1c6fd372f2b23bdfd4be0fed990b8534b283701fa167f273fd1

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d05a9c650587b83ade619a9c0c3ecafc5dc6180e93ab45db228064541390da4b
MD5 86828bfb3aaac8604de3f910a2e034ee
BLAKE2b-256 8021e529174b10c1e924026393eca781b0ca293523c1fe9a327814f3265602c8

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 040a52b0088a25b96037548b37ea50874cddc1a48655abd4013ccfec251ae25d
MD5 3b938d1077b7b18a0fe9ed56411ec265
BLAKE2b-256 d94fbf75ca564eb28095a77f026869d2eefbe78fc547420b4a87e1e772866bca

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 eed07c9462966aa5e11cf46527e879dca10c6eb5489f097f0a04d302ff9b6955
MD5 b1b9d70bddf09d62f7da4a31b927532e
BLAKE2b-256 35e8b1288b1607a816dd874443a2f7bd77a3098626a33da31851809aec5371c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 31ffab0270f4e96356e6019c142f89ad0a8c027287da0497bfb6e0cd65a6cbf5
MD5 30d9cfa1990bdd3094a20f3832803e2e
BLAKE2b-256 a725463f08eef35d3e9f28a26381c7dd4051aed2cd3d70d46cc27c0de46de6d4

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ad81721f77ee0e40b7070dbcb4d10d3e80f146b6f53f9fee87f4d7bd89d190e5
MD5 11fed3f3fe4c5d08d91c8fd218b2b82e
BLAKE2b-256 276314997e294c8aa6023b619470bda6878e3ac6a62c63a6fac1a21d5e93c9d9

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: simsimd-6.1.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 52.8 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 863f15810e5b6e781776fc8caa4bdfc486b5239c3476261d7eda2d62af821255
MD5 e85acc475470c25c2fc56494188c74f3
BLAKE2b-256 54ddd18df5a0daf43d1bfaec3c72dc2a0de4e6824f0462f15f7c1701c63d1ef3

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp310-cp310-win32.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 788c2b5e6ad4be8ca76880758f87418bfd679a81a2e484f5f3fd1a8cee47893e
MD5 254290077f16b29f141923e22264db96
BLAKE2b-256 cffc3a77dabcc8acf953ec2c1caddebd0256a9d9fa72c9891bbe429d1ceb3a41

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 ea903969d2283cca92072ff9d56bcb0cc79d0ef69686ceb04d34145a864f04ce
MD5 c714546a036659cd89b205ef1d9fa66f
BLAKE2b-256 547ec1da6ca71c256dfbbd1dd2d3ba651b9904bee81196b112aeeed7f501507c

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 82bc7b22695cffee7d00d18e12ad1d3f3d4d843b0d58df4c3ed89f2df9a7695f
MD5 ad14146362aacc208103ce679a365823
BLAKE2b-256 171c4e5415a6a27843e37dbd5315d749145fe16fc882ba3ada8544e26d038966

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 710d5e6f43a58df33894111378584cf4a54f0e2d1ce2bb7ac0d4c72add0bdc79
MD5 737ae3cd123ff94d1d7bf600b7ae1b9f
BLAKE2b-256 37bed2e1c39b624049531e97ef07e592e6b9e32d177cdba82c2454210190f5a6

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp310-cp310-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 71b389333d3b77002988182d20d4c088d61e5965b5cb1fbe28b34de874056aca
MD5 5921b279d602e43d26d9817a92c0febe
BLAKE2b-256 ea34e2dd2d3b1141e0042d0f3e2d25f52583530d6de638dc3bb4499c8f0eb346

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp310-cp310-musllinux_1_2_armv7l.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ef4dea5b994ee1d856c2dbbe3ae0072575f7b4bc3feb180efdff8cc9827d0119
MD5 051e6086233a4b6552f3d9212dde9805
BLAKE2b-256 55bd821d83e27207932270eec2b03ed0f66f13a4f4bce90c2221905262bb7150

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eca1b7936e1c3f68505f26ac492974b4ec428e402c51cfb3a72a02a5f212796a
MD5 24565844483e3e08ea2528a5489bba65
BLAKE2b-256 c72b0422b37bb9d87c2db67323d7e709eb5c202d9f000e65c6cb396ef1b08001

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 73fa058f8b0e794a7c0d02b1e05578d45271f30f260d12ad0b1bd1e9ee7a8161
MD5 a7200f9f6500398800e5df5656ffddbc
BLAKE2b-256 fbc2a3f1bd89fe18db5e6b6bdebd97effeabffda46d4eb36081d42fc9ea96730

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a4f80844e8571b6f5efa73672871b4fe44a3f9efb974bef60c9c9bc7d6d2e77d
MD5 cd8fbcab28711a861abf1ebf1aa981ef
BLAKE2b-256 3b3c3a6f8a1d95403803957022b8033391c94f116b53324a0ac3ce4ef55e893b

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 dc7159984bc38cfad2f679c055269a40a82821ff065b0bd25e6fe23c8f8ac47d
MD5 186ad7830db82328bc943f3e000c753e
BLAKE2b-256 a7fb9b9d056e4643e36163eae4805ac44a3bb6d1380400e65ef74931e1c27fda

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b3d59037c2d2f28ffeb6971adf520156d8e825844b92a9292d0926efe671eb9b
MD5 e6f8ee4b797cc5efa8930afc42280ad6
BLAKE2b-256 ee3fbc72f7934c6249dac3b57a80900a80af5268a6196d32044c5140601b374a

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5844a4fc29cddd60898b9df421ee44378f51e0a2e4cdbe2944ce709c7e3a041a
MD5 dcce917bd0c3449fbc681dcc77dcfb06
BLAKE2b-256 f1eac8197f315760879f5a33db24359ca49686143bfe2ca966365244f341d2d4

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b81a5741b4b1711efb5618844d2139c5f9bf2059f47a0e59080ea43a3a7d99d5
MD5 fb4373b5f774021862d9cebe0abf52ff
BLAKE2b-256 7bf49453d96955db5b6c85a9bb9c0257a2f21c050a022ab05350f169b99e9e6b

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 630d78949d41c86a63cfb223de4c037aabb390d9169bfee22e394b8418d52488
MD5 6fb44dbc394b6911a66ac93621fc7ec0
BLAKE2b-256 3c7b1f3c43870d149f3c2a3d7f9e2ea3ef3adaa698b91b406afbc17eba9b48a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp310-cp310-macosx_10_9_universal2.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 1c580ee0385d76077595c420259581befc48459af159b7cf127d6351cbb28205
MD5 5428060cb8614f941372655304acd2cf
BLAKE2b-256 99bec7a7a06d8290ddb31c5a075e726d29b22923f01a6f833441ad6508887296

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 876a5516409f145dc18b0fd3965dd6772c41019f158b3143d1cf1553eba1ab9d
MD5 4c43bc563bd1bac3acb45df17a2c3f00
BLAKE2b-256 502d5eede937732ebc971c061370d18163b556a44fa995afba7c5abcadd28b2a

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-win32.whl.

File metadata

  • Download URL: simsimd-6.1.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 52.7 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 e8922e2e90b3e1b829074dc7ecfddd4b66262711fdbae9b7a09d13bdb1f14c36
MD5 e368df5f9f38c2fe05d4c0d1d47d604f
BLAKE2b-256 9b18e2764eb18798f005084cfc334da8ac23439ea964f4e76b27d6a3f19fce0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-win32.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

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

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2b1e49ee3db8a3e568984d647467e236c633058148b1a7d64abd0ff5c5e4bdb8
MD5 6feb6fe92c649661faf08cced3f07fdd
BLAKE2b-256 34b3a215d7a7898548f65d8e61a125d5371853470a1ba6dea90482d3581e7d35

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 630edc4fa0d59ea82ee6d7fd689576c26ce16393f23c892e13de4dfc403e5f9d
MD5 0840e1794c66a0f875724f2d37e8ddf0
BLAKE2b-256 89820da4e2b607c6d221a73343c3a3403db2c0ae8052fe9f3b907ab785e9e08d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 c3278bba5fb79e3243a21d55df8bce37fe59810ade1c504464b911624e83ff77
MD5 b316ab19ea7e4775f63ad7786627daa1
BLAKE2b-256 bdb0ce8d6b3c814be40dfb58f1418128a82e71e3cfcb7b0ee577f9ab07e70811

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2e1c0029b8e14db15bf1d8030c5c2d0272249f7524c5072e4402bd8316ae39f6
MD5 84a1760cb3551d9977738c83f4c81863
BLAKE2b-256 7d1a2f4cf7d0313c18bda1503a5ea1b4f75c537d601e2f70cde7fe44ed00a162

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 d3503e076ea2162c16731388420d68762ac8b82e96f365323b17a26d8ac1e068
MD5 9c605aa25b7681a1f4ed301d35e62d06
BLAKE2b-256 0ea965e29bdaf68ebfabb71995bf35502b67b6ac145e9ab60934eca5fe151cba

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-musllinux_1_2_armv7l.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 392cda77c8bd37b4829fb346ae729306768682210fd1e3cf0702a71db38db237
MD5 b6f920d13703a8ddb022086a3662e224
BLAKE2b-256 70b877df6c40a7d40985e2939145d35ab6ec8a5086925a509208dd15fc391f12

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 99412f19aeb54c64214fdbbe19eeb2e4f8c6353f35e10308b72f1815f76d56e5
MD5 25f2de2f3b57568c31d41a0319eb2c04
BLAKE2b-256 52356ae28561c3d5766d48f968f60f6d6722e25f78a00ea4536d3d66c991167c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ddbbb8e9d676781fe932abf0ab41fb030a806c0f775b0193d8d8955d2d0e1ed2
MD5 90c8c7f067db57b3cd1ca63a5ceb473e
BLAKE2b-256 b833ba05309d35171e1885ebce8af7d29a0375bf758bd56b098559f73c77d91c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a216d82582030d0c6ca53eda8b832565c18964f6c5ce1f4c34e05ca265c4d43e
MD5 fea7adafc2633bc62c77eadd4a9bf713
BLAKE2b-256 f75c78f4e2efb06d8f7ab4b1a690ee2779ec8d29ce7ba162c1bbda9d4334de24

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d4e6dfa8a09e1a30c2b758ca6b6b595de65d42d2391ce66415285dafdf7c315f
MD5 6fbd11d960ab026260e02014185d0664
BLAKE2b-256 60010afefa42e73ee913a5704b45419e04dde40ca69d5d0de103d5fabee6d316

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ce02c36c7cb75b0157e8482211113435e853f2fe42ca5409c41868302d1a936d
MD5 7e12f9204a3b67c78ab4aa136bf72c5b
BLAKE2b-256 1a5032305a16a2698282bf0cc344aff043f9e268d2fafab1b0b770d0ccd6ab56

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 00483d93c8bfb17de5f8db273e0e0f4af5c7c1756f40e0e51cb3f99227eca2cf
MD5 5b25fa1c273478924e0c61987f6913d1
BLAKE2b-256 af16f048e2a85a4287690f54f2250cf77adc47e4a26324e4d0281b77c219e81b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ce20872dbcfeded228c5c7c3a2ffb6e244bc101e0d51cf8fe59a411211c424d6
MD5 3157d2537912056969c7c25eb511c97f
BLAKE2b-256 bbd1c4875cb0b800f509e58f62200e7585f3b8e0d803fc7d67d981a658025400

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d793fd66e9dbf750fce4671dde89bffba1fe90a4b72170cb1885d1d27267ecbd
MD5 a7465c54310687aa120f4b829af3fb72
BLAKE2b-256 160b53da5296a41aca64f960e4a6234991dfc9485f2e4d32a2fc33b9530330d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp39-cp39-macosx_10_9_universal2.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-win_amd64.whl.

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a903b7f7f0959105f976bcdd0d8001501657e2d36b3f891a45b947e619692d73
MD5 af9203544f8a6f9ee4ba4d045ae387cb
BLAKE2b-256 95f6740d9e920d8785e20e689f8a3c1127dd0ea8bc365339298a2a611da5e868

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-win32.whl.

File metadata

  • Download URL: simsimd-6.1.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 52.7 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 ddd120fde8648fe808bfcaab16f395abf59c8b926813e655c89bb684f9b2a25a
MD5 c136229b8fb951dc93ca52266a149869
BLAKE2b-256 02815f1b97eefef10fd7f7ed57f5a2b3bce59e34c9943d82963e738575f3a4f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-win32.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5cecdec9301ad357e55aa91e89da31ac50a0439b33d48ecd1c3ffdda2f75a73e
MD5 406a27138d84dd83db93abeefc4f4bf3
BLAKE2b-256 6da5b9d3246a18278ec3a27f284e8fb64bd62dae903572205afcd51a2926f979

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 991509366d0cdb9b788af2491a9fc145522c26489ac65d54e781c66b66eb0692
MD5 e0df2a7a1acc792814eb2926dd52c893
BLAKE2b-256 759b19774e2782df7967f8e9050797844838cbd3e3342e7dfdec0bbef7a000e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 3046fc99f45d6baf08376b5c7ea95169b53e0640c241af1c45278cabc9ae0512
MD5 80464936e40af09caa44ccef4e838a1c
BLAKE2b-256 39131504e5a150c0a502b0eafd049cb5cf29d7ac5850fad2799936a71f5c98ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 80ee4ccbc89cc1208ec6b36afe0b0f3ca964c2c9f5dba68ee0925112ef52dd8f
MD5 59373c15dece2199bfdf66015a3812b0
BLAKE2b-256 93865bcd470f94642801a59912b9f33d9e9741a8eca3242ada58abf31b95c5ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 223e205dcd6fbb7c0ecc421e49b96d863779323beec33ae7d0edb0eefef90034
MD5 78808be8919db6890c59e40c071f35d7
BLAKE2b-256 b8108c0bf81c3b51e21bb8c501db19493300082248ac99c482c29f223caa3a9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-musllinux_1_2_armv7l.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 67a5d52c421f8cf2effe87d960653914d82a77bef89847bf7be3733c85a0d93f
MD5 9e7ea3dc623d54263c2b4393cf26154d
BLAKE2b-256 b57722fcbda35e103445f0cdc2acb9a5aa36360c68e8ae47b77624d58c26fdec

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c010309986cdc37adad963f435641cee429a35608d7e58a9dcbff20a3b713712
MD5 7398da391a88ff3d71f6ef4f4641667b
BLAKE2b-256 b271ce1dab118a61dd498e16378e74f074e87dff0556a186b97402b20798085f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 55de1c4091ba544896b7e42c2f0a037a1493d68e55f9d609934780f689d71ee6
MD5 7d7ff571551c0382daacdb1f93a770a0
BLAKE2b-256 5e0c93ca9ba4f51f520f43c1b28ac14eccfbeb1df37a8ae0c91db9fc939f25ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f7f22fc9fa600da809fd4b0270f837d8774682155efe2578fa619b1cffafa0df
MD5 4183d39d564bdc113c4cc7493c1c44dc
BLAKE2b-256 f64e0d467f5377c5f5d5ce1ef136aaec0637cd2aa9f1a3baebd64c17b534db5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 92c92db111c8c259d205c287d36f948e2849856dd10380424bf03d64d44cfeec
MD5 8c89e035edd2bfaa44d175f5bfbd144f
BLAKE2b-256 5e2673a3175cbe6c058b3ff892b872a91fcb3c80ac48c902fa80273a9f8bd709

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 511968a074ca84365ae46257308fda28b7b3e54daa072da783d2c944ede288d6
MD5 1cf0425611fa51e7e823fe8d42e77d6b
BLAKE2b-256 935da3c26115cac90ac5f52192aef7e5447e15215ce5e7cae4929d1bf296d641

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a8a580df49735e5cde3260415707c844f2aeb2ac5966855f6c2cbdea99c21ac
MD5 2f53ee68bbed60d8dd7affa9b5250111
BLAKE2b-256 f739722eeffbb81f950ee969968d37c6a4c3ebb7adf5ee617464daddd1fa740c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a1b61c3511f6bf4d81e4d7a38e6877ec50bc0d8391a63fab391d1e67338079e1
MD5 b560957aab44cd9e9f95a4d7be5c708a
BLAKE2b-256 31199ae188d2754eeb7f220692ca06e27f7d1c8b9f7754bcd9fa4ac058ff7cf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-macosx_10_9_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7519349f078ba13df17228ab56402bbd380515119fd95a6ab3cfbb48739bed93
MD5 b5d4483a746da87692b87b9f38cca467
BLAKE2b-256 ec47df235a711e32678113bcd08f0f1a18699131b1617f3ababe31865a0d7f8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp38-cp38-macosx_10_9_universal2.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-win_amd64.whl.

File metadata

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

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 cdbe5202b34ba482c9de02a0e6e035d8175343915329a2260120ea2ab4091ed2
MD5 ae4e39b28d3cc1a19165244c7aafd5be
BLAKE2b-256 7cc0d8bfa6f82bc7cb19d3d66087c6332f854b1d2d752b2261a99adb8bf4bb83

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-win_amd64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: simsimd-6.1.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 52.7 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 9402c105d864ae22835cad60679bb8674568779246137af257d828615083b5ee
MD5 895b3e7519d6deafa53f72dc305251dd
BLAKE2b-256 8cff33b5509819e693a816b40e293f01c97430692ea165734c86c9214108154c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-win32.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4a7b4438a5d6e3566b2af949efdd3e52dfb11d6eee2cc9053505ef1729aeff7d
MD5 e06c620eca7228438e07a76e0ae4f7e5
BLAKE2b-256 94b543341404bd5987eb19112f32ac5ae0f4d87e53e6a4671e24fa183b717c84

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 96299196c1784e346a78e74b03300ce044c3feeb5522340e4f082df314ff2045
MD5 e44646c4957c6b2a56515c0ba3f826b6
BLAKE2b-256 fcea515c86b6c89c69af99c9b706a4f6df880e31f92fb05a4550fda13ed44755

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 67a830902eba3c6fa71cd862386d7c0b0aeabcee8a9e594f2fbbd2142eae4af0
MD5 0b811beeef8d14813a6a0222dd0d8d4c
BLAKE2b-256 94d8f7b98719c11177c5e03483ce5f6a686f1070af65770fe649a16195562f4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5d66c599bffe4f1cd8dbf7499e4eeeb4ec2e32088f432844f6fa01a0bf6ba701
MD5 810b210ef671aa37c3842b43a82de45b
BLAKE2b-256 c78758a8f2d3fb3fa1ab2661273126973f749efded59016dff1c43eae6ef3a5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0583285ceee81c6c94a8c77135fa0ec331d68b6440d97f68ed01dc5d23983114
MD5 41e5e2885be156ea288f2f10f1dccfae
BLAKE2b-256 37cb23548719fc28b1604fb21a5ac81f0c0382f296aa90ea575921a18ee07fed

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_armv7l.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d4b40b9b6d63e565809724f1b96d20cef6058c132e1906e6f03ec75c4472b6a0
MD5 4450e23ad59ce190ed381ff152b2e8e8
BLAKE2b-256 05159b719247d6f2eb9c385e70b6a79518c1c7e284be285d0c07796b44b24c86

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 594dffac280dee53691c19317238531667302a46cd6144844feccc2ca978dff7
MD5 c1ae47a91b06c29ba5d157388192a280
BLAKE2b-256 873dc595dd716cfdfa68fe81f92e11caf4b68903cb1cbdc42ae8da67fe22e3eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-manylinux_2_28_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8dc1185922dc1e2d0c2639456750ebca4d49612b38328985f7d6c141e3245397
MD5 027bf41051f9233c9b82aaa09ea2ec6b
BLAKE2b-256 c57912c35af4043e4bb721d7ab2adb88c60205b3af7ca9e6d83750c1283ffa78

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-manylinux_2_28_aarch64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 3086222497315360bf45261e9384b65fb4c28aa5f86c51489ea4e7d3f09383c3
MD5 f6dfa0ee1dd63de24d64fab2eda128ba
BLAKE2b-256 399d58863f35e6d89a7fd7c5844f680a9b3bf92e4d8abc66202867306238e824

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f1695994d90dd3b0b4ff0c77232ec56aff3a83b43b1cc85f194142afb4fd65e7
MD5 ed9075f1a640e790d0e2deb6bbab3b17
BLAKE2b-256 2b9938e5aa405cf74bfd0e6e7a4a25c40099eb4eede6eda91b545178faf67727

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ec7bfa42773a8e3eb3e75be26561ecb79a62d7ee99d2d4f71b724c9dcba4aa0a
MD5 50cfad8e7793a9ee5cb9164189ff51cc
BLAKE2b-256 d1197cee30ba9de0032260b53701ad27e370fb363344fea0edf2114dbe5e1e66

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

File details

Details for the file simsimd-6.1.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsimd-6.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e79064140fa2a262dd100cd94311b0fdcbd97c85cd9d655476e44bb892e3f417
MD5 6a06cf85430c6500f4e6258cd7e00f41
BLAKE2b-256 6cd18bbcd9cbb5ab5954cbccd6a347952bb3807b5b2d42eb73c755fedb5db0cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for simsimd-6.1.1-cp37-cp37m-macosx_10_9_x86_64.whl:

Publisher: release.yml on ashvardanian/SimSIMD

Attestations:

Supported by

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