Skip to main content

High-performance perceptual hashing library (CFFI bindings)

Project description

python-libphash

High-performance Python bindings for libphash, a C library for perceptual image hashing.

License: MIT Python 3.8+

Overview

libphash provides multiple algorithms to generate "perceptual hashes" of images. Unlike cryptographic hashes (like MD5 or SHA256), perceptual hashes change only slightly if the image is resized, compressed, or has minor color adjustments. This makes them ideal for finding duplicate or similar images.

Supported Algorithms

  • 64-bit Hashes (uint64):
    • ahash: Average Hash
    • dhash: Difference Hash
    • phash: Perceptual Hash (DCT based)
    • whash: Wavelet Hash
    • mhash: Median Hash
    • color_hash: Packed 42-bit HSV-based color hash (compatible with imagehash.colorhash).
  • Digest Hashes (Multi-byte):
    • bmh: Block Mean Hash (256-bit digest).
    • color_moments_hash: Statistical color distribution digest (mean, variance, skewness, kurtosis).
    • radial_hash: Rotation-invariant Fourier-Mellin transform digest.

Installation

Prerequisites

  • A C compiler (GCC/Clang or MSVC)
  • Python 3.8 or higher

Install from PyPI

pip install python-libphash
# or using uv
uv add python-libphash

Install from source

git clone --recursive https://github.com/yourusername/python-libphash.git
cd python-libphash
pip install .
# or using uv
uv pip install .

Quick Start

Quick Start (CLI)

You can quickly compute a hash from the command line after installation:

python -m libphash.utils --path photo.jpg --method phash

Basic Usage

from libphash import ImageContext, HashMethod, hamming_distance

# Use the context manager for automatic memory management
with ImageContext("photo.jpg") as ctx:
    # Get standard 64-bit hashes
    phash_val = ctx.phash
    dhash_val = ctx.dhash
    
    print(f"pHash: {phash_val:016x}")
    print(f"dHash: {dhash_val:016x}")

# Compare two images
from libphash import compare_images
distance = compare_images("image1.jpg", "image2.jpg", method=HashMethod.PHASH)
print(f"Hamming Distance: {distance}")

Customizing Algorithms & Performance

Fine-tune hashing algorithms for specific use cases. Note that hashes generated with different parameters are not comparable.

  • Ultra-Fast Image Decoding: libphash bundles high-performance decoders for JPEG, PNG, and WebP. It uses libjpeg-turbo (TurboJPEG API), libpng/spng, and libwebp with SIMD acceleration (SSE/NEON/AVX2). Image data is loaded via mmap() for zero-copy I/O between the file system and the decoder.
    • Fallback: Automatically falls back to stb_image for other formats or if bundled decoders are disabled.
with ImageContext("photo.jpg") as ctx:
    # pHash (DCT) resolution
    ctx.set_phash_params(dct_size=32, reduction_size=8)
    
    # Radial Hash precision
    ctx.set_radial_params(projections=40, samples=128)
    
    # Block-based hashes (BMH) grid resolution
    ctx.set_block_params(block_size=16)
    
    # Wavelet Hash (wHash) Mode: "fast" (default) or "full"
    ctx.set_whash_mode("full")
    
    # Custom Grayscale weights (R, G, B)
    ctx.set_gray_weights(38, 75, 15)
    
    print(f"Custom pHash: {ctx.phash:016x}")

Working with Digests (Advanced Hashes)

Algorithms like Radial Hash or Color Hash return a Digest object instead of a single integer.

with ImageContext("photo.jpg") as ctx:
    digest = ctx.radial_hash
    print(f"Digest size: {digest.size} bytes")
    print(f"Raw data: {digest.data.hex()}")

# Comparing digests
with ImageContext("photo_v2.jpg") as ctx2:
    digest2 = ctx2.radial_hash
    
    # Hamming distance for bit-wise comparison
    h_dist = digest.distance_hamming(digest2)
    
    # L2 (Euclidean) distance for similarity
    l2_dist = digest.distance_l2(digest2)

API Reference

ImageContext

The main class for loading images and computing hashes.

  • __init__(path=None, bytes_data=None): Load an image from a file path or memory.
  • set_gamma(gamma: float): Set gamma correction.
  • set_gray_weights(r, g, b): Set custom RGB weights for grayscale conversion.
  • set_phash_params(dct_size, reduction_size): Configure pHash DCT resolution.
  • set_radial_params(projections, samples): Configure Radial Hash precision.
  • set_block_params(block_size): Configure BMH/mHash grid resolution.
  • set_whash_mode(mode="fast"): Use "fast" (median) or "full" (ImageHash accurate 2D DWT).
  • Properties: ahash, dhash, phash, whash, mhash (returns int).
  • Properties: bmh, color_hash, radial_hash (returns Digest).

Digest

  • data: The raw bytes of the hash.
  • size: Length of the hash in bytes.
  • distance_hamming(other): Calculates bit-wise distance.
  • distance_l2(other): Calculates Euclidean distance.

Utilities

  • hamming_distance(h1: int, h2: int): Returns the number of differing bits between two 64-bit integers.
  • ph_can_use_libjpeg(): Returns True if libjpeg-turbo is enabled.
  • ph_can_use_libpng(): Returns True if libpng or spng is enabled.
  • get_hash(path, method): Quick way to get a hash without manual context management.
  • compare_images(path1, path2, method): Returns the Hamming distance between two image files.

Performance

Since the core logic is implemented in C and uses SIMD-accelerated decoders (SSE4.2, AVX2, NEON), libphash is significantly faster than pure-Python alternatives.

  • JPEG Decoding: ~2.0x–6.0x faster than Pillow (TurboJPEG API).
  • PNG Decoding: ~1.3x faster than Pillow (spng/libpng).
  • WebP Decoding: ~2.5x faster than Pillow (Native libwebp).
  • Zero-Copy: Uses mmap() to avoid kernel-user space copies.
Algorithm imagehash (Pillow) libphash (Native) Speedup
pHash (JPEG) 0.4506s 0.0667s 6.76x
wHash (JPEG) 3.2750s 0.0650s 50.39x
pHash (WebP) 0.3298s 0.1240s 2.66x
wHash (WebP) 2.0520s 0.1197s 17.14x

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

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

Source Distribution

python_libphash-1.4.0.tar.gz (12.2 MB view details)

Uploaded Source

Built Distributions

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

python_libphash-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

python_libphash-1.4.0-cp313-cp313-musllinux_1_2_i686.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

python_libphash-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

python_libphash-1.4.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

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

python_libphash-1.4.0-cp313-cp313-macosx_11_0_arm64.whl (620.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

python_libphash-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

python_libphash-1.4.0-cp312-cp312-musllinux_1_2_i686.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

python_libphash-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

python_libphash-1.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

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

python_libphash-1.4.0-cp312-cp312-macosx_11_0_arm64.whl (620.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

python_libphash-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

python_libphash-1.4.0-cp311-cp311-musllinux_1_2_i686.whl (1.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

python_libphash-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

python_libphash-1.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

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

python_libphash-1.4.0-cp311-cp311-macosx_11_0_arm64.whl (620.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

python_libphash-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

python_libphash-1.4.0-cp310-cp310-musllinux_1_2_i686.whl (1.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

python_libphash-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

python_libphash-1.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

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

python_libphash-1.4.0-cp310-cp310-macosx_11_0_arm64.whl (620.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

python_libphash-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

python_libphash-1.4.0-cp39-cp39-musllinux_1_2_i686.whl (1.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

python_libphash-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

python_libphash-1.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

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

python_libphash-1.4.0-cp39-cp39-macosx_11_0_arm64.whl (620.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file python_libphash-1.4.0.tar.gz.

File metadata

  • Download URL: python_libphash-1.4.0.tar.gz
  • Upload date:
  • Size: 12.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_libphash-1.4.0.tar.gz
Algorithm Hash digest
SHA256 bfcd3f860e8eeda124503721f06c98b35d080ba8e05f3e9c867e2fa20878228d
MD5 0a1b809625cb10e35f41118035278d27
BLAKE2b-256 d9597e24653f98606bc3f9eae4b01ee88c4be1d16efa957d64c24ec9c8a97869

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0.tar.gz:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8961eab18ac66fdad786b4b34085d03b447c4721029d653027195274b0ebe604
MD5 02015fb22490159743243c6e6eb57c5f
BLAKE2b-256 f2ad3f5c7fb74434c769dea365b88c68af7278b055260136c644da22fdd83e59

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 41ee90b65524585cbcba0584a1d87c8d32351448a5696b1898a0490fd4289453
MD5 55da5c96634128fb903d924315a87e31
BLAKE2b-256 302c33eadba3d9ead0d4776bce1f992a27e7f16bd635750a759d2324b69a376e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp313-cp313-musllinux_1_2_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 55875f7d715d5379e84174d9eceeb0e6bdc2174601bc84b26a2077a1355ac23b
MD5 19878d2592a856f0183b567359c4c553
BLAKE2b-256 500db5ce8f0b102addc60dfbeb42eebb774c2736cba5f5a25d0ec655aa653b0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 aa140414b94096c410af7ebf3587e24099bfd40175b691b0c0cc497ae620dde1
MD5 d4c214e5d29a82871819845c4d7dd1a7
BLAKE2b-256 0be49acd43857bd245b936788b88836556d98c0da051aef6594c44b07885ce69

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ebbf3a8fd47f64d5f5f7e865ad1f8f5962744cc44e462eb754826fd988433c1
MD5 5e1bd18b91854dc9b5394b83daed4e03
BLAKE2b-256 c3621f7982df96c2365bdb1f467724f1930536088a6352d49bc506098855fd20

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 06a06cbe4b7ef649efcc089504de15b694886d5bdde11ce56500e1d023ae7b96
MD5 5e730bb8ea152442165df8a28d554c39
BLAKE2b-256 a8036ccfc7c0054fbea14db5fe5b3ee934f73823907b38caa412a7f8559ab9b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 45d035150ad24879df8d2720245d4a1920a9f47998054110159a3c0583a200de
MD5 20933259a486c7108d3b65407220e80f
BLAKE2b-256 6149c0dcff118ef02596c98016074ea494a51961fd623e82b61cea9bccde9777

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp312-cp312-musllinux_1_2_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fac7f8fae206233bc6caa11096a625f98439629cb478eca7b2e0759ff89b489b
MD5 36a77e64e9badb1d5d4b72507419b929
BLAKE2b-256 9a76ee40ace6f2da5d62d671b78e72f46a30729350b57b6fac5750ebd5859831

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7e1bb2e29018d51672d39d67767f395ac745f1604d212a83f1f6325d037c8a61
MD5 4ae6bd05275ff28f633ee932eaf1a2ff
BLAKE2b-256 ce052b0a0b8c9a55c11c346e24edd3089c6226db4b6785032d1037e9592e624e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d718085cd964dd5e8629f6325f61dfe881721f2766a09e44d058b8b82e3a10e
MD5 45da4bc67b4c206fbed1cdc33c8c1625
BLAKE2b-256 09cfb549b8e8e5f691025bbb80829a8f6c4ee34cc45889c434fc0075c07479d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 95c782e232e57715bc9e707ab028410f7bb0da7e010817875e671bbf88e3ea9b
MD5 14ecab607f8ad4b384e4b019e7d82f5a
BLAKE2b-256 b459666e3337b7f79c477407b5110008ee50b4f863cb65754c7ce136db197445

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8076609730f348b9d61ddfd58562427a81ec5dd05933552546439bd94b61ef26
MD5 307dbb51e3aca05c65e0576ce6282cf8
BLAKE2b-256 55d6a80e5614f813281f589a500b9c7b3723d8f0d486aca7e99b6cf0ded0faba

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp311-cp311-musllinux_1_2_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 61223a815c3dc8706c4502629b5c263d68dccee2e6de2275ddf37c96da7b9605
MD5 4fbd8d2aa4e2b8f942aaf5dc79af2b8e
BLAKE2b-256 037a3eead49c9e4e30d723e90e046730a8df2b84a1d9bc5504796cf879fcc51f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0689e873002c172b8862e6b73ebb1da06e69cc39e5b0211134db9db3ff4acd33
MD5 64dd0174a950b5978116c17cee37e523
BLAKE2b-256 3139dd084f53cf80e3bfe91f7e74922a96528ced6eaf37d68d589d38f544a315

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd8bd6666d9f92ff8a0a0700056443c16887d12ed84fce6399ddbeb04025015f
MD5 11f7afd4e4aef9b84ecd7f0f73eaf4f2
BLAKE2b-256 5b23b30b340ce7fea29b9ef1a3c14624520ef33c87b19816392decbc7e077364

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4c9649c8c1401e205318d8387dc095247aaf6e98352caf7dc8c30844817a466f
MD5 9f4f34a0f48f8b819282bc704e9a67c9
BLAKE2b-256 0bb6fe55b98d37e910dddb9a7a112410a6aa6a7994b3707b8f039b4f45986901

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1372e8a15a9e854380bdda9de9f0aa0723957c2feb855fdffd4beda598c21729
MD5 d392c553c0a73b5a967749ad08abb688
BLAKE2b-256 d2227d077b068b034ca960d8a771d1fd4f108c7881324131ed71facb7e91c4c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp310-cp310-musllinux_1_2_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4711b0dfc7d875b609098ef4ed56fdb4741b4d17ea10cfbe83f263bf128b2eba
MD5 f31b9fd10db23d5881f174e77917041e
BLAKE2b-256 27ad58392da86990098a40a5204e4692649c8672c1c038065f3d67db3b773495

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1c9faf43a87d5bce2dda86ed3b8398dece9d9c1636c942065db7364021663f10
MD5 12bb7c836fbcbcc224e384eb11d5b3ce
BLAKE2b-256 8922b85343838e53d51dcfbc86757913b359d81e2e5a6a69a12034adf6da78fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0934233c1211b60b4b2055c3efedd6d9713a8ba573a229b6dbaa2e3059adc8cf
MD5 5da7463de70fa53ca5d42b4e890f253a
BLAKE2b-256 4ecc78753f41ad5e92c0830db5484639ff4ca459a5a6c0fdfbb29dc91fcad3a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 00c02b75795ce420c8cbe105971ddc493d7bee9a7b69f5143b269391dd36d062
MD5 061984e9955070066061e58dbde2a6ee
BLAKE2b-256 b75acd02fdb50e7784c6cb3fc2bca20522fd12efc870182d3180e7426acc7fb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3c532aa4d01c78b24bf31b1e8ad44a3cce29da006245410bf71bc3d25af731ee
MD5 6e56fcdadc35d0fddad0576caa95e756
BLAKE2b-256 01998b302bcb55a68ce43a4cb1410610d0e2b1082d17c72add41e64bcc52ab0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp39-cp39-musllinux_1_2_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 95d6cb8365e7fb4f6559e4ad1d9d9352a642ca8fde1f29cdb2fe742f54204f26
MD5 ebf513ebfbf6846c5aa7c71f71fcfb4b
BLAKE2b-256 2fb0f938910b94d41f583463590e14974ca7e5989369d4abb0180947e63133b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6eeb7ba65185fca76cd972d7cd905e967bd317b8a427ae3ad9da0517f79c3642
MD5 3e751b8052c4719ffe40ba0770ddb82e
BLAKE2b-256 275e9df214a3407d118a4d26f3850c42869f60a2dca4bcf3c97fdca9791c615d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

File details

Details for the file python_libphash-1.4.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.4.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3773e327c30a55f4a8a5123ebce7ec1ae547224e6b1092cbca8e7a46f71d2945
MD5 9369d8640d336eeddee595bcc6fe58e2
BLAKE2b-256 ecd6b65f93d9d22fe6d07ce761c8e7fe5b05a2a1d1e018f6b8b013ffb0b52f27

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on gudoshnikovn/python-libphash

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

Supported by

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