Skip to main content

High-performance perceptual hashing library (CFFI bindings)

Project description

python-libphash

High-performance Python bindings for libphash v1.9.0, 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 libphash
# or using uv
uv add 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}")

Advanced Configuration (New in v1.8.0)

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

  • Ultra-Fast Image Decoding (v1.9.0): libphash now bundles high-performance decoders for JPEG and PNG. It uses libjpeg-turbo (TurboJPEG API) and spng or libpng with NEON/SSE SIMD acceleration. 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 if bundled decoders are disabled or for other formats.
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, libphash is significantly faster than pure-Python alternatives.

  • JPEG Decoding: ~2.0x faster than Pillow
  • PNG Decoding: ~1.3x faster than Pillow.
  • Zero-Copy: Uses mmap() to avoid kernel-user space copies.

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.3.0.tar.gz (7.7 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.3.0-cp313-cp313-musllinux_1_2_x86_64.whl (852.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

python_libphash-1.3.0-cp313-cp313-musllinux_1_2_i686.whl (866.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

python_libphash-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (855.0 kB view details)

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

python_libphash-1.3.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (834.1 kB view details)

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

python_libphash-1.3.0-cp313-cp313-macosx_11_0_arm64.whl (498.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

python_libphash-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl (852.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

python_libphash-1.3.0-cp312-cp312-musllinux_1_2_i686.whl (866.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

python_libphash-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (855.1 kB view details)

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

python_libphash-1.3.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (834.2 kB view details)

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

python_libphash-1.3.0-cp312-cp312-macosx_11_0_arm64.whl (498.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

python_libphash-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl (851.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

python_libphash-1.3.0-cp311-cp311-musllinux_1_2_i686.whl (865.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

python_libphash-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (853.5 kB view details)

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

python_libphash-1.3.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (834.1 kB view details)

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

python_libphash-1.3.0-cp311-cp311-macosx_11_0_arm64.whl (498.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

python_libphash-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl (851.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

python_libphash-1.3.0-cp310-cp310-musllinux_1_2_i686.whl (865.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

python_libphash-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (853.5 kB view details)

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

python_libphash-1.3.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (834.1 kB view details)

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

python_libphash-1.3.0-cp310-cp310-macosx_11_0_arm64.whl (498.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

python_libphash-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl (851.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

python_libphash-1.3.0-cp39-cp39-musllinux_1_2_i686.whl (865.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

python_libphash-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (853.5 kB view details)

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

python_libphash-1.3.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (834.0 kB view details)

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

python_libphash-1.3.0-cp39-cp39-macosx_11_0_arm64.whl (498.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: python_libphash-1.3.0.tar.gz
  • Upload date:
  • Size: 7.7 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.3.0.tar.gz
Algorithm Hash digest
SHA256 fb4f3b091f8cec9f78f2cff0658eeb67a90afb9e916d899d0b50c70392813fdf
MD5 b4f97e54250457bd9b165bb42897a55a
BLAKE2b-256 84154a7443a83571e06334268d4fc695a5e2067941554135303e24e23c27f9a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ab7686f9e666d40aa5101dd6a46039b1ac5a4f15285be9f4bdd06d79e449d686
MD5 71a556509fb9e052cc75af34cdbcea92
BLAKE2b-256 139599f20d75eb49a163845994f862d949b44cf26b1d89fd1b443b8acec4ba34

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 58c82e9f511668d460776920ed1cf604722e38d3867d9d5779963a0ae2cabfe1
MD5 4b3a183ee57a6569b916047e4adb3e59
BLAKE2b-256 08c467a986cd2b381b8c6064b07fed70250b53f8d9735e9f6823e268ff66e51c

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 240b4c6ca733ce8d4a24b7ac0756cd7565d561222b666694ed1d6a8ec457b119
MD5 bb18c6566c2eb010760143868749367f
BLAKE2b-256 12812999ca1097ab911da435a0d35a6814093f604ae36314c6499e589d802a0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.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.3.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c788152afe3c539d224ceb6bf8cbde22f63f0bb5da40510a9f57d7e059dc6055
MD5 0ce52723a83da7695ab8a1ce9d406370
BLAKE2b-256 e0b6d4a9926dfb1ce50aeb0d1f4c60a6685c2dc2d0344c2e0f7737d5b7e2fbc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b8894485d6c38e1e8a646bc86aead245272b20609cb696f136c309caeefbd20d
MD5 30361537a7b3c3c3063943bbe97f381c
BLAKE2b-256 87a20fbd45a0afa6b59edb3e44ab48b91a4871ddac36dd37c17dabda21146e3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a20bcbfb0f33141e7efe3483c1cc0157ce45bd1efd1e3a2e0e7d05054c518a6f
MD5 383f04981aa909c914772f4d8c6c442d
BLAKE2b-256 08b7e6bef16641d4d0527c0ec3a830fff922595a40fd9157bfb7b14f2df24cfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cd86611d53c9d21ae7d17e29670ddc2e71ec94c8c7b8cb31eafe5656e56a2a9c
MD5 42dac1c0904764b89723a6af4b59bf56
BLAKE2b-256 174d04bd3640b15122174c50acba23afa7466dd056ab81686414284409e93f58

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 86e7b532cc7de48c81624b1cc2a1eff714f2d4a638169d9faae3c67763a45e40
MD5 04a2cf7afda67e366c51eb05a26c2d81
BLAKE2b-256 f4cc7c1b8030425f659be9ea5e4aa610e33f87bd25d8e94113fe71cac289b14d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.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.3.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 42e2327e25c464d1f50c4aba87c2fa3fb297dc02c0de006499c3a3692285960a
MD5 5e7882e2969ed094011a324080ff2cf8
BLAKE2b-256 2bb9a585163e993960d4d59bfc6f2fcceb41b196b7f8124c15aecbba8090478a

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e745fe42d03961a995816d3a968ab52cc0ba39a1b2e98ea03707ba47063431e3
MD5 e2de54db970ec9d0c35e5dc5ff5f34b4
BLAKE2b-256 9d247542004ab6f1f2cd19c5ba7f6f93dd9361e236701ff51f0da2a258a079c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0f5c0d7bbd806a5f5cd4080de56bfa5252319944cca066d731935e659b2bc0d9
MD5 d5839bdad2a3a8ab69b604d17e2a1bdc
BLAKE2b-256 ae6167c2790d67ab3f38cea123124856434cfb550ebf4987cf02e80089110398

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 62d8e7b7a007dd356ce20fde27e3d1acd213bf072e20708dd1debd25521a0ac2
MD5 818a2d019e1db96dbb1e8439d2a83806
BLAKE2b-256 34c671e6e5050fa92c86d0fa22b5587da365bfffd12ea0b1fe54d3a30dc5b5e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b62d8965674af7ce571026a9c07af8ff3e51a5d87f35a704c40ff3f2c873407
MD5 4000a185b68a5f30b6ec0349707f6a40
BLAKE2b-256 e7c6004c9cc165598e542821186995a1b821cb40948428bba7e2f86e3bd3bde3

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.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.3.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f17a743b2094ffc5036f87324a5fafe437e999bb1f5550f0e79581ad856503ce
MD5 15af29e64f011d7c44a64c22755867a7
BLAKE2b-256 5249f94af4492bcb863d4aa3567a28f43845db010aa7519abef467379f55fc99

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 87c6f99755ef11b5c3fc03ce96a0c28455341a74d7113c0b1eba84d7cafc4450
MD5 ac4e0e0c01c1aad91e47155e182e2708
BLAKE2b-256 5e779d724d1b02a0086ec199181e0244d2e45beb578d91eca37f1b84a59921ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 92ed91bbe935af52645d44b088d8276d8bd886ddc011069dc3962f7aaf86d84a
MD5 45c203f651207575cc4b7c7140518051
BLAKE2b-256 20e167f25620cafe342465d8af9c45d7f5d81de00f133a7f3c4bfabf48f35745

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1e2c3307ee16a330b41529f113321c33312d415ee67d582417814a290e8ea3d5
MD5 41cb5bcaa85a07573078e12cbfe0be7a
BLAKE2b-256 bc7e2e502f548fe6a8e6c766edc3cbd81dd19cb5519f606d8ef4b693c981f19e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5ea8f77e6e4532f1d1cb39d463ad0c45c2493949bcb7cc682ef69d930ec07531
MD5 195cb72a0fe8ca8eaa3c64434cf7e1b7
BLAKE2b-256 62c796f259df7fffe6decc85429c90d45bb9276e102ce749f833a2bdbfaa5e2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.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.3.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8de56deb52baf1e945dfb9a43fd45c7a52f1348f929c7444d6ad595840f20c75
MD5 35e3119f41197ac18d621688220f32b3
BLAKE2b-256 4908f281864fbcbfd84d1094776e8eb46f5d9f353028d6eed2814510d5d2d5a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c11f9424fa379903e7d7f265a0bd7dae7213f98f9bc8a130dbb1cb44164cc773
MD5 61556ecc251cabe32af74b9eed34d8be
BLAKE2b-256 ce5b82232a11185dd7a57d070ddd277e2d4b0c194c63d51eb96a7dd0e028e62d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4d68bdb8e61d09b449831a6a7a46fbebafafffdeb57d9e15962e2dcefcf75471
MD5 54e107ca331292777eadbd7b00f32ca0
BLAKE2b-256 91884a4e1fbb50490d2012351f080f91fec21f637d672ee93ced55b298ea6db3

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 07b1cb0b15e9629b5944177543fa055ee9918c6bb65e17c9613c3cf110f1aad3
MD5 1bcc89ab8988b8c09b0f8a01bc56e171
BLAKE2b-256 4ac1ced16667ab913c336e70442304a42edb8a8c2ded3905c75a06942ab2898e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1c1f258cc60e138b54bc9cac25e4c8ba289d6bc89184320c019e899bab647581
MD5 cdcba8bda85f550eda5bb4181afc6d08
BLAKE2b-256 c89276008d29b4a45e63bee122bc577b6f834ff8c2ef1214fd4b0a4c2d922eff

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.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.3.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 604c43e93b006f6528e5c117a8f0e4f5fb3a70713dafad4487c4849034a9ea8c
MD5 9c83397bf93e1502442639fd4b9dfceb
BLAKE2b-256 d31ce03b04b26ee70cc501245745c70e1bf811ea07e42c5631d2a4fcc87581e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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.3.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b384035eb9adc7b2de61e4620782a36673a4dd33643a2c653ab0d2bca287c07
MD5 e1f73a04da3918234dc98842053b7083
BLAKE2b-256 37a0624fe76940b320e8b88e4b1abc8e2265cbc78bf3aa8c60a19d9071dcf64a

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.3.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