Skip to main content

High-performance perceptual hashing library (CFFI bindings)

Project description

python-libphash

High-performance Python bindings for libphash v1.6.1, 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
  • Digest Hashes (Multi-byte):
    • bmh: Block Mean Hash
    • color_hash: Color Moment Hash
    • radial_hash: Radial Variance Hash

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.6.1)

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

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)
    
    # 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.
  • 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.
  • 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 stb_image for decoding, libphash is significantly faster than pure-Python alternatives. It also uses CFFI's "out-of-line" mode for minimal overhead.

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.2.0.tar.gz (234.3 kB 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.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (332.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

python_libphash-1.2.0-cp313-cp313-musllinux_1_2_i686.whl (328.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

python_libphash-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (335.3 kB view details)

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

python_libphash-1.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (325.4 kB view details)

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

python_libphash-1.2.0-cp313-cp313-macosx_11_0_arm64.whl (94.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

python_libphash-1.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (332.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

python_libphash-1.2.0-cp312-cp312-musllinux_1_2_i686.whl (328.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

python_libphash-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (335.3 kB view details)

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

python_libphash-1.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (325.5 kB view details)

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

python_libphash-1.2.0-cp312-cp312-macosx_11_0_arm64.whl (94.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

python_libphash-1.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (331.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

python_libphash-1.2.0-cp311-cp311-musllinux_1_2_i686.whl (328.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

python_libphash-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (334.9 kB view details)

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

python_libphash-1.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (325.4 kB view details)

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

python_libphash-1.2.0-cp311-cp311-macosx_11_0_arm64.whl (94.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

python_libphash-1.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (331.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

python_libphash-1.2.0-cp310-cp310-musllinux_1_2_i686.whl (328.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

python_libphash-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (334.9 kB view details)

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

python_libphash-1.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (325.4 kB view details)

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

python_libphash-1.2.0-cp310-cp310-macosx_11_0_arm64.whl (94.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

python_libphash-1.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (331.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

python_libphash-1.2.0-cp39-cp39-musllinux_1_2_i686.whl (328.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

python_libphash-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (334.9 kB view details)

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

python_libphash-1.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (325.4 kB view details)

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

python_libphash-1.2.0-cp39-cp39-macosx_11_0_arm64.whl (94.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for python_libphash-1.2.0.tar.gz
Algorithm Hash digest
SHA256 66c66fa9eb47bc1c75510f11e34eca50bf9cef6ca093ad5b27218ec449140575
MD5 47171d494fe37fce24a06a2e1cc4094e
BLAKE2b-256 e662dd4d1838e5d8fd20a231ec100ecb9c8d2e128f737d0f922749336883b69f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cbd634a2b41af824436ba97de9e9e3eadfae29cda206314c9300555e0f37c55a
MD5 ba1199e93d729d1f330d70785cd4ed38
BLAKE2b-256 544e737df83251f3382a35269b8113e0f44965fae8de8619292dc43c975528e7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c4a887f8d4a900acd7095f46f5c5c78f12aaedf4d5ff9468d927fe85c9abfc9e
MD5 7eff45b8cac4ea02ce8c9c1f635d03d3
BLAKE2b-256 eca319659fe11d9baf8304a232052ce9709edaec0f4d21d4a70dc1e73e266af7

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.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.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 63d900ad741300642d689837f6f717464b9751b4af100f23bdff6cd055d33fc5
MD5 0267cae2ee2d3c37dba7fa5d48743dcf
BLAKE2b-256 6059f175aac49133aa0683ff5748fea134feee93d233bc18367c0a88d107c305

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_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.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9b5346ba6ca00b15e7bbdbfbaca48f78bdbe3c320709a8cdaaedee5085af807d
MD5 58d698a9f694634dbe1ead0420b9d8d2
BLAKE2b-256 f7ebdec7deaff6d8c319e451c62d4b8b03eac42033521000c791ced307593356

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_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.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d5e31272a412655e39fb870f12011833c50bf749a4ffe681ba8e7c6ac364f30
MD5 2cb68abe2a6c87d580bd47c59397f31a
BLAKE2b-256 9eec39d0110948d976e43bd7af96d22813f3ecb17103d4cdf0422412c2492793

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 29e6bbf9c4c27cb9cc64be40488090159b1bd5ce95dd9f26632ed2577420c260
MD5 5ac05234c4f675120f924bde2d4aa7e4
BLAKE2b-256 cd67c1edaac29c8e0834489f264e309916e941f7d7ca43a07b9990cf6974b188

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cf4121a1aeb1aaf42935b708a3598bd21152e5bb66857f96dfd95d14bef52f94
MD5 c5b758659e7f3c2db532dc5791ae686c
BLAKE2b-256 0b5c286c6cc3d1ac05d76671c4617a9c76fe1fb2cddbc06f5cc0bbac146ec63c

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.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.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f437f9d8aaaad4583ba615be0604c36c276e40a132b04c7de7920d671f780980
MD5 b3c71345dc0ff78d92252048a4dc09e8
BLAKE2b-256 db6503e79c169947e08cd3693182b9c516dab0433c697d9bfe98e9636cd13f22

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_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.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 089dd4408bc92f8418d90f211a283755b65592b05de859ee8f9791353e45e856
MD5 4e6d1facf25902b2e179ffc19b6b6ddb
BLAKE2b-256 551aeb523bab10096d8221ab024bd5d5d84a5ecf351f9535204fdbc9d4782485

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_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.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 704a18cd3125ad0b2104efddc96747d1f44c90b16cd70549c724219b5c5653a6
MD5 71de76b89f4e785d342176be1cbafc83
BLAKE2b-256 38b4400d0878a92b753b8be7bd32739984fb2e9644a9518f8394880e9412a844

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2ca6925998d2e882c48e3ec1493da21636091a969c8b12ef73ea87911035a89f
MD5 9bf2b91398c7b32b280e1cd5b85573dc
BLAKE2b-256 6973e078b7e3d4f03d427ec49a4fcdf383583caf71195ed4e3543b4421c25f97

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1e527c66e3489dc1cc305bd2652b345a11c9cc32dd809bcced74519d0efdd1e5
MD5 2d17fd6f90467ba0a2e659027bbe01c1
BLAKE2b-256 e73a58427ce3d85c98d21940987f59af696c8104b8de90720d56d1517233f5df

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.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.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b876479b692518e2fe7601077e32ebe924cdec55de7635d65e4f47274a0469bc
MD5 f4023ac168ec20a225ab365d1c3fc613
BLAKE2b-256 b2a6645a16f2012ca6b44cdc677279fc3756ae73674a6eb2ca3a3e195a46a52f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_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.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d2ebe9e825277981daf947a3e159d476769bf431a26c0365fd96d53ddbcb5613
MD5 d47a09189e688864ccffbea9495faecc
BLAKE2b-256 4d970901a81a17e8e87408970a0d3b2bbdae3e76baec0e67b55e7dc4e28c09ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_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.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13be23953a0fac867bbccbabc600cca9cac2a0517ab3c4368f46203c2ba4f5f0
MD5 805f869253cdf3fcab9b25724e350c4e
BLAKE2b-256 dbd36a5a55c2d38d106e0ead7c2e9bd9667b82d19fac2c4fb29097642a12b34b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 535318fe251598daa4984dfc6d6cae601801cd7d64734391dcf91f6d200b5364
MD5 d4af697ade1074ab7083357f1abc7d5d
BLAKE2b-256 faab6bf48aacad01efc36811cc00e65e339dd7bb16a1bcc21f5c8b66dc85e250

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 291ecd63cfcdf5eefebf3c07ddfa66690eb7a8a03f6fb8c38e4dcaf31de25bab
MD5 75da72a8476849877f66ce157cf3eb49
BLAKE2b-256 dd7e6a6a23554d19777f82dafa200b29ef68ee016799aa31b24f1b541bfcea6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.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.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4838939197ed449c2116f037f6b9afa2e58841706468249816a4a291e5f88606
MD5 7a5badda1c9a5685399e77d453ade95d
BLAKE2b-256 bdae7829d6660d07ed343e7e75003fe4e5ab0af096bdd3488e452901b4a02c7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_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.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 54a6febbcb459036c15e722cf8de05ed578deb83d7fac8d4e14e5c20d31db8eb
MD5 4454017af74ca2b91c6810d977bd454c
BLAKE2b-256 aeafa7ffba6ed9333396bce056bc0059be15706d3b2dbf20b28fb56703f7e0da

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_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.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c3482b4bbdf314518d2ae2863601bcb1ddb93a4425aa726d64867841b49c75b
MD5 ca54c6d325ee8bfc2a77ec557bc95cb6
BLAKE2b-256 50efb60b22ebc342bcbc3770f29590f9a2245d0b04944c464d1871272bc16e97

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 952bb426629f261fc3440e908bbd7048ac673417cd6f8c7f8689e4b348f80ae8
MD5 1295eb044851d1e49b04fd4cdabb1463
BLAKE2b-256 c3a66b8502575beab7d7d6a82bad2d0579475ad4c87b29581029458ebc7aa1aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a32bca1b60a7c82c319b4531529bcbbbe70a15b6991e66c84806758ecc425a9f
MD5 c19dddfb886344c5353692838ba54e51
BLAKE2b-256 3268bd5bedd47d5f0889e080842b0b9c7ccd014520e1b2cfe655833c9e02fee4

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.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.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 182d6e6dd3d4e541c2e8924f9f3ceac8f315e1442598a242dfe6fb5500323587
MD5 ade09e451f0ca1b4a11602c2bbc5037e
BLAKE2b-256 057ba3a28917dc88131fdaf5ea760977f94ba4dc3717e34ca59c72a38b5ccec8

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_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.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c8e87f3ea8924b82547a66103b26a693fb92f34c072f77c901b2738cd3c13e17
MD5 d8204b1113a551a34cea8fb00e5e20fe
BLAKE2b-256 ee894fc2f0d15fcebf0f77cb85d39e2ef3cadbfd76befd8b902308d374ebd096

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_libphash-1.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_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.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for python_libphash-1.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0a5c69d8725c22ea735b6564b337bac0c62607527f6c13d64fdcbb30ec16f36
MD5 6d7858aa7502185d66100b16a0e36d4e
BLAKE2b-256 d59f7bcfa09e5a3cb920538e3a5e571c4cb5844724c57d23fea613ecd9c7660c

See more details on using hashes here.

Provenance

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