Skip to main content

pHashPy

Python bindings for the pHash (perceptual hashing) library.

Copyright (c) Dries007 2020.
Licensed under GPLv3 (or later), as is pHash itself.

The project uses cppyy to create a small wrapper around pHash functions.

Features

Working:

  • Video hashing
  • Image hashing (dct & mh)

Missing:

  • Audio
  • Text

Usage

As a Command Line Tool

You can use the tool as a command line utility to generate a list of hashes from a list of files.

Run python -m pHashPy --help for more info.

As a Library

Import functions from the package's __init__, this will automatically load the required library files. If you import the functions from the individual py files, you must call helper.init yourself.

Background Info

For more info on pHash:

Testing build manually

Using CentOS 7 (with docker container quay.io/pypa/manylinux2014_x86_64):

cd

yum install -y cmake3 libpng-devel libjpeg-turbo-devel libsamplerate-devel libsndfile-devel libtiff-devel libvdpau-devel libvorbis-devel
yum install -y epel-release

rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install -y ffmpeg-devel

git clone https://github.com/dries007/pHashPy.git
cd pHashPy
git submodule init
git submodule update

cd pHash

echo "include_directories(/usr/include/ffmpeg)" >> CMakeLists.txt
sed -i s/SHARED/STATIC/g CMakeLists.txt

mkdir build
cd build
cmake3 .. -DCMAKE_BUILD_TYPE=Release -DWITH_VIDEO_HASH=1 -DWITH_AUDIO_HASH=1
make -j

Metadata

Release files for pHashPy 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pHashPy 0.1.2
File Size Uploaded
pHashPy-0.1.2.tar.gz 1.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pHashPy 0.1.2
File Interpreter ABI Platform
pHashPy-0.1.2-cp38-cp38-manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
pHashPy-0.1.2-cp37-cp37m-manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
pHashPy-0.1.2-cp36-cp36m-manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details

Total release size: 40.9 MB

Release files / pHashPy-0.1.2.tar.gz

Download URL pHashPy-0.1.2.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
9a292f213daf5b9fecd13e600c7e21bc088c1f6255ad4261fc424eab9c3ced6e
BLAKE2b-256 checksum
How to use checksums
7fc0c4e328cf393faf757d8e27e234b83ab6caf3362f0a05b5ebf591a70bc4e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1

Release files / pHashPy-0.1.2-cp38-cp38-manylinux2014_x86_64.whl

Download URL pHashPy-0.1.2-cp38-cp38-manylinux2014_x86_64.whl
Size 13.2 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ed0465f304c433105902c2a1e40ac25719c548b298efbe304f752f118ab88d1d
BLAKE2b-256 checksum
How to use checksums
9bf39a1a0d959b0f18948470540acf799664c3fdf2255f8fca0319d9736575bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1

Release files / pHashPy-0.1.2-cp37-cp37m-manylinux2014_x86_64.whl

Download URL pHashPy-0.1.2-cp37-cp37m-manylinux2014_x86_64.whl
Size 13.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
16107f4e1b41a27d3c0b848f5546ca5d1bcb880981572b43c96b32a8289b9230
BLAKE2b-256 checksum
How to use checksums
b6a3edf36b738fb153b2daed54fbfe9b25ac11db00825ee56eb2e9402553d3e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1

Release files / pHashPy-0.1.2-cp36-cp36m-manylinux2014_x86_64.whl

Download URL pHashPy-0.1.2-cp36-cp36m-manylinux2014_x86_64.whl
Size 13.2 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
44bbb9be6293fa0508feab085f926e62863f080a2e174c8ad05dab206663a337
BLAKE2b-256 checksum
How to use checksums
484555e0eaa587e75cacb48ef45996203c3325d6b0fdcf1ed9144dcb9959d042
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1

Release history Release notifications | RSS feed

This release

0.1.2 This release

4 release files

0.1.1

4 release files

0.1.0

4 release files

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page