Skip to main content

High-performance perceptual hashing library (CFFI bindings)

Project description

python-libphash

High-performance Python bindings for libphash, a C library(v1.10.4) 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 while maintaining top-tier accuracy.

Algorithm imagehash (s) libphash (s) Speedup
aHash 0.2164 0.1033 1.92x
pHash 0.3211 0.0842 3.40x
dHash 0.2017 0.1048 1.80x
wHash 1.7832 0.0869 17.16x

Benchmarks ran on 200 images (JPEG).

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.1.tar.gz (12.5 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.1-cp313-cp313-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

python_libphash-1.4.1-cp313-cp313-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

python_libphash-1.4.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

python_libphash-1.4.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

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

python_libphash-1.4.1-cp313-cp313-macosx_11_0_arm64.whl (656.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

python_libphash-1.4.1-cp312-cp312-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

python_libphash-1.4.1-cp312-cp312-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

python_libphash-1.4.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

python_libphash-1.4.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

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

python_libphash-1.4.1-cp312-cp312-macosx_11_0_arm64.whl (656.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

python_libphash-1.4.1-cp311-cp311-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

python_libphash-1.4.1-cp311-cp311-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

python_libphash-1.4.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

python_libphash-1.4.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

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

python_libphash-1.4.1-cp311-cp311-macosx_11_0_arm64.whl (656.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

python_libphash-1.4.1-cp310-cp310-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

python_libphash-1.4.1-cp310-cp310-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

python_libphash-1.4.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

python_libphash-1.4.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

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

python_libphash-1.4.1-cp310-cp310-macosx_11_0_arm64.whl (656.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

python_libphash-1.4.1-cp39-cp39-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

python_libphash-1.4.1-cp39-cp39-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

python_libphash-1.4.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

python_libphash-1.4.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

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

python_libphash-1.4.1-cp39-cp39-macosx_11_0_arm64.whl (656.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for python_libphash-1.4.1.tar.gz
Algorithm Hash digest
SHA256 7492a173717cc76f3b8595e2ecd63d9c0c1bd6f7e20360abd7a9dad7a0bc5adc
MD5 8496e946d2cd1fedb977970789baa6bc
BLAKE2b-256 e635ea767fd2cbec6c3c1de59cd56c12465017d0b5180f8ed93f4d1c5deb2aed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 123e732553cb405ba1a43d3bf1a823502878d90cbfd6f525ad0c8749efe0a277
MD5 3d34e24ff3af929ffacfe276e3e23896
BLAKE2b-256 041f1b0ac5b9548465b41cc15a1e59d3fafcfbf2bbe9ea27a442c2a838fc7156

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2c37577c04afc155d573e252b11e4e2d15643047602ce78573b27b30465b19d2
MD5 17b177e0438981670d04b29709ace6fa
BLAKE2b-256 43548b9cc9d5f9efebfe6bb661ad0d7400e38eae24d44f6e75e5f5b15795eba9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ee45e1be8e8612a6018ce15f745e08732a73667292dd1bb6824810266ef2de2f
MD5 c14430767bc092e2e42371600dec7031
BLAKE2b-256 509556bb51b6c351a16da9f8efac416545f85177b6ba75580c9d041e83a57b9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.1-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.1-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.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 08687334a411d2ab44e567c6f6ef389c4be0a6106988c6c9ec08d69874877f39
MD5 963bfa57ade1f5ad112cea97130933da
BLAKE2b-256 88258a06c7c69eb0c3727f60ad240c71090185a4d7e810a530cfbb56fdfd2d93

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e695b74a182942022ce9480819f99f541db103c3a7971083502be65b19bf67f6
MD5 eb880714243f395f64b4bc52ab376115
BLAKE2b-256 2de90270f9cfd58096f314280101754887b80be378df9070c750a2539f66019e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 be884d9b0f8d6a7c2f4c2d3d12813957a6f7fe709d45eedfde774a16b0964d55
MD5 86aae1609d53fcbbc6bec6a61f069f2a
BLAKE2b-256 abec1f3bd6dd9470d721911f197a94d26586988590f7c27700f37d84e27ffb06

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 32c991c9237d01298f259def2c75df5c475d94f3cb0dcc7f0aacdc948b00cfcf
MD5 8644a4e4c7d6eb578acd7b6d21ef33b2
BLAKE2b-256 a22b613484c38f5c961647dc3d8d3a8f3050b448e05d6fcd0b18accdfc2f728f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6894866a2f9bd8d4c01b31bebc59137d82fcd0ad677e98262392f84eb2567d48
MD5 f9324a985ec56af8bd52d26f9ff3a87a
BLAKE2b-256 50bf3adc6a8f2467eec349b38561c84f29d42378344dd3adafa551b11b7b9151

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.1-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.1-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.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8afc8f6eff9672530a286181882ed53e0d27d7b01c133c738cc48b73e5c667fa
MD5 3074d6ca6d75b2bf673498a0be17762b
BLAKE2b-256 a7810dfde4c60c7ffd66187243ae896ea9afc7ca7781e1f9d6a6ba89aa165583

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 449e8bef8a8a26d697411ba3ee9897f3f9364c56016ef2aadb5ffa73e8714b94
MD5 a24860d2d795849944ad49390dcb6954
BLAKE2b-256 d4f6e05cdade8a9467ff92d56d108f8af92f0a335c828726e931da39055a4089

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4f8809bb1ed6cb14b023b8c3e5bd2b226d3516fa4b4207af6e3b3908c8b071e0
MD5 1dadac57a34d3b0bf34c4e79a14420ca
BLAKE2b-256 f53f7c73a87ad653de7561862f93cdabe2fa4edd3eaaf2c8cd5e17e5f3964191

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 724ebb553ec6287b5da7cbd7de4b1e2724e65987dbe32ec82b8db258a361ad43
MD5 a3b640ab620d16133b1e996230243500
BLAKE2b-256 048d2e29b7132f19d7076df17cb5f683388aaeed76912bcf2826a93759a8218b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 786cc72c41c5f7d8569f2b838d88e585f27aa5e836cc1737187cae2aef0ad1ec
MD5 1dc01ecbd6782f6ba22dea35d5649aa8
BLAKE2b-256 4a6bf39b05b83f4ba243711298f9d3bd698c2d5616d4063ad94fc8cb1c8528d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.1-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.1-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.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ef00c1f42eab2f06aad75334ef804c5630217899c795b82a378f84a7fbeea594
MD5 11de458a6c204107067094dd97e69314
BLAKE2b-256 947d2a12f332740ef4aa3e3c4d59ca5f7e14a0670d63594876d0fd3ccc98e729

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2668ae458eaab78928e49e5497ef7a5ae414305fa29ae0a17781937e1b8f2e5
MD5 17a4ed7ae62243e0f82cb3a754a52787
BLAKE2b-256 de59abf059c7c8622188f332b1ed3c92feb019e9fbe69a2e9290afa3ef0fac75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0a6abea77c3620f39a6cfaca71d1aeca5e8fbe16c5394d832ce73c0c08efa7d7
MD5 5d4744f0fc4baecb136fbb60703e5b0d
BLAKE2b-256 aad0e3600b18189c1248c2f15a7c9b7c7a1b54b03df9783f23b32549dd4e14c3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 459ed747117b9f957fd50441138ed4097d26ef999650ebdcd7fbe1500f2be799
MD5 83d33088c252eb671ef258b2315ac3e0
BLAKE2b-256 55c0482f7f1116a74b8af7263e0dc58366ec0eedf1602814e9031c7e99c58808

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bc7e87b6b396b01f83da736c32ff00a32bf12e6edbdf5f6c374664005de75536
MD5 92e65d4182df4664e355eda176a9cd11
BLAKE2b-256 7a21faa9de13593346fbdfa37a69f0339012323c9ffdcd45a8394d71a8899fbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.1-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.1-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.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d46fd04cbc84b9c8446fd57a6e842c6131c3dcd85703a9fe320ade857641df7a
MD5 3eff22b5b7b9bbe9e6af1675ab4b81a9
BLAKE2b-256 7bfcd06cb4ec56964b56991a42c5b81af975e7e6d8fc1f1674a5b20453fa53bd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8df62994f45035a7d8cd514c3d83ee65f94c8e021341cd201a67246d24c27a5
MD5 7bcdbc4bcb685251dde74a7bc5a455eb
BLAKE2b-256 2112a67205fb35e0a340e7a1b626d10bebbf8fb6c7693c6ac359d502bf319ce5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c4135ac60eb0b67c25dfcd065617027414ee229dc8cf7f3cb6a2bb94e214df0f
MD5 87a37146fe569a9f4c07f6ae8a2823af
BLAKE2b-256 fc0bb220cc0ff777af612da2ee97365cb7fe02a38b3a9949362c7a4710a7cabb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 88a96fe56e3c487a03333629bb3716850fbfde9ff3627751baa0f3837f498c52
MD5 7a018a6a873307e6c41fb67240100de2
BLAKE2b-256 4a0ca0fddc874cdf3156f79c45e1b285a32c86679024479ac4d88aa47f186d41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eaed1b78b0565d232395d1f3b765a99a055a42f806fc8e3c236e6a8a88ce84dc
MD5 267fc280ec86addcaaf11e8bd36fb96b
BLAKE2b-256 cc59cee69fc10f49a18ced3d34d940488f92c95c190267c56605b84c4c8442e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.4.1-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.1-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.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b2d671fa1cdb71adcf0775e1a42b7863eb96a735e9de4da8bb0c80951607a74b
MD5 0fe0b1d685d6cec4ade45360f44fdf95
BLAKE2b-256 dc4ea7c733913a3b4815a95b89d1f0df513d06006016111f6940f0b19dd342df

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.4.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc123b494c06b2b03501ff54dff5a89a49a867dac0802a4f3f5d66cb8270600b
MD5 65d794205f2365a9e648ea9bc03f0433
BLAKE2b-256 6e96559aba82fc0df9d0582e3c398059113bac8db63fdc15a0bdc733e116d045

See more details on using hashes here.

Provenance

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