Skip to main content

Performance-first perceptual hashing library; perfect for handling large datasets. Designed to quickly process nested folder structures, commonly found in image datasets

Project description

Documentation Status imgdd pypi imgdd crate imgddcore crate codecov DeepSource

imgdd: Image DeDuplication

imgdd is a performance-first perceptual hashing library that combines Rust's speed with Python's accessibility, making it perfect for handling large datasets. Designed to quickly process nested folder structures, commonly found in image datasets.

Features

  • Multiple Hashing Algorithms: Supports aHash, dHash, mHash, pHash, wHash.
  • Multiple Filter Types: Supports Nearest, Triangle, CatmullRom, Gaussian, Lanczos3.
  • Identify Duplicates: Quickly identify duplicate hash pairs.
  • Simplicity: Simple interface, robust performance.

Why imgdd?

imgdd has been inspired by imagehash and aims to be a lightning-fast replacement with additional features. To ensure enhanced performance, imgdd has been benchmarked against imagehash. In Python, imgdd consistently outperforms imagehash by ~60%–95%, demonstrating a significant reduction in hashing time per image.


Quick Start

Installation

pip install imgdd

Usage Examples

Hash Images

import imgdd as dd

results = dd.hash(
    path="path/to/images",
    algo="dhash",  # Optional: default = dhash
    filter="triangle",  # Optional: default = triangle
    sort=False # Optional: default = False
)
print(results)

Find Duplicates

import imgdd as dd

duplicates = dd.dupes(
    path="path/to/images",
    algo="dhash", # Optional: default = dhash
    filter="triangle", # Optional: default = triangle
    remove=False # Optional: default = False
)
print(duplicates)

Supported Algorithms

  • aHash: Average Hash
  • mHash: Median Hash
  • dHash: Difference Hash
  • pHash: Perceptual Hash
  • wHash: Wavelet Hash

Supported Filters

  • Nearest, Triangle, CatmullRom, Gaussian, Lanczos3

Contributing

Contributions are always welcome! 🚀

Found a bug or have a question? Open a GitHub issue. Pull requests for new features or fixes are encouraged!

Similar projects

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

imgdd-0.1.5.tar.gz (54.9 kB view details)

Uploaded Source

Built Distributions

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

imgdd-0.1.5-cp39-abi3-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9+Windows x86-64

imgdd-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

imgdd-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

imgdd-0.1.5-cp39-abi3-manylinux_2_34_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.34+ x86-64

imgdd-0.1.5-cp39-abi3-manylinux_2_34_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.34+ ARM64

imgdd-0.1.5-cp39-abi3-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

imgdd-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file imgdd-0.1.5.tar.gz.

File metadata

  • Download URL: imgdd-0.1.5.tar.gz
  • Upload date:
  • Size: 54.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for imgdd-0.1.5.tar.gz
Algorithm Hash digest
SHA256 65d4f6d3edb9f43f2aa1913a9365955803a7b1229aabd0fdb525cf31cb40c215
MD5 2b67fd10384c28fbce9739139827fa20
BLAKE2b-256 e90ef87ba129df3e19384a9bf7769846337a496ff5627e4dd51ec938d4ff82cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for imgdd-0.1.5.tar.gz:

Publisher: release-python.yml on aastopher/imgdd

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

File details

Details for the file imgdd-0.1.5-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: imgdd-0.1.5-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for imgdd-0.1.5-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 76253e0269d8ab2097bff405d3da7163770fdad62b01ea654e85e2ed921ab3e5
MD5 1c7eaf0c84f9aaab6de7d371f4716876
BLAKE2b-256 305c69d2f0337d7667e3f620a59ec1f01df445b57b30ab835ac59ed99c414677

See more details on using hashes here.

Provenance

The following attestation bundles were made for imgdd-0.1.5-cp39-abi3-win_amd64.whl:

Publisher: release-python.yml on aastopher/imgdd

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

File details

Details for the file imgdd-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for imgdd-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dbce07add99e54fe24a602f5621dbbc0939bfaa5d629ea4fe63f4bd35f2d0e3d
MD5 81034ee8e52d628d5649ffea9a60aee1
BLAKE2b-256 1ed45ce11edecfef3682117f798a5634dd971a87c5933b50edb2ef5db86f11bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for imgdd-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl:

Publisher: release-python.yml on aastopher/imgdd

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

File details

Details for the file imgdd-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for imgdd-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cfda0278b0811ded5f74d82b5035858901110b8795b247bb27c31ab9a96e7226
MD5 8b0104af189129280ca46c1374adacbc
BLAKE2b-256 63a025c1aa71d50f6a2092ba0b8d71362ab701c12b3865cf96c07c4f7fdde559

See more details on using hashes here.

Provenance

The following attestation bundles were made for imgdd-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl:

Publisher: release-python.yml on aastopher/imgdd

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

File details

Details for the file imgdd-0.1.5-cp39-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for imgdd-0.1.5-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f01b759654ef591e57f31bfbdbd3b8becd5013380df05c4912a86320938309f4
MD5 d93207bd850e5f1f86c22805eb9bfaf4
BLAKE2b-256 74f87928d15d41abd095bf8c3e52908820de9cfa4462d083c2e6de7e3b63b3fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for imgdd-0.1.5-cp39-abi3-manylinux_2_34_x86_64.whl:

Publisher: release-python.yml on aastopher/imgdd

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

File details

Details for the file imgdd-0.1.5-cp39-abi3-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for imgdd-0.1.5-cp39-abi3-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a762282ad692b8c8920a18cdc2e84814a35c22465cecb0c3e44db50149a84865
MD5 140dc4aa138bdb2d256fccc1e22d5dc7
BLAKE2b-256 21271a70ec8eb6d93171bd8b41d80bdf01eded5a1ccf2d8b268c556fa3bfdae5

See more details on using hashes here.

Provenance

The following attestation bundles were made for imgdd-0.1.5-cp39-abi3-manylinux_2_34_aarch64.whl:

Publisher: release-python.yml on aastopher/imgdd

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

File details

Details for the file imgdd-0.1.5-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: imgdd-0.1.5-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for imgdd-0.1.5-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fd6dcf9dc31a8000cd109495dc46377c8b4944c7ff5a0074942c82985a65190
MD5 b67bfd54e18f6a607c530253cca92670
BLAKE2b-256 3bd87d414bd4dbaf7c8080ffe283e334bcab3218544d4e3e81fcfe9c5555cb36

See more details on using hashes here.

Provenance

The following attestation bundles were made for imgdd-0.1.5-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release-python.yml on aastopher/imgdd

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

File details

Details for the file imgdd-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for imgdd-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 465c6d7e4c3e49acd86ff760c9f29a895e9d9d2c4e41a36a4345e9de3db66693
MD5 c07c025a7939d3be20c6213dd857ed8f
BLAKE2b-256 9d6964054b7f86c47fb1184cbbfbeedfe076796d9f573ff1305a93b5a21b2279

See more details on using hashes here.

Provenance

The following attestation bundles were made for imgdd-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: release-python.yml on aastopher/imgdd

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