Skip to main content

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

Metadata

Release files for imgdd 0.1.5

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

Source distribution (sdist)

Source distribution for imgdd 0.1.5
File Size Uploaded
imgdd-0.1.5.tar.gz 54.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for imgdd 0.1.5
File
imgdd-0.1.5-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
imgdd-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
imgdd-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
imgdd-0.1.5-cp39-abi3-manylinux_2_34_x86_64.whl CPython 3.9 abi3 Linux glibc 2.34+ x86-64 Details
imgdd-0.1.5-cp39-abi3-manylinux_2_34_aarch64.whl CPython 3.9 abi3 Linux glibc 2.34+ ARM64 Details
imgdd-0.1.5-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
imgdd-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 10.7 MB

Release files / imgdd-0.1.5.tar.gz

Download URL imgdd-0.1.5.tar.gz
Size 54.9 kB
Tags Source
SHA-256 checksum
How to use checksums
65d4f6d3edb9f43f2aa1913a9365955803a7b1229aabd0fdb525cf31cb40c215
BLAKE2b-256 checksum
How to use checksums
e90ef87ba129df3e19384a9bf7769846337a496ff5627e4dd51ec938d4ff82cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2025.

Transparency log

Release files / imgdd-0.1.5-cp39-abi3-win_amd64.whl

Download URL imgdd-0.1.5-cp39-abi3-win_amd64.whl
Size 1.2 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
76253e0269d8ab2097bff405d3da7163770fdad62b01ea654e85e2ed921ab3e5
BLAKE2b-256 checksum
How to use checksums
305c69d2f0337d7667e3f620a59ec1f01df445b57b30ab835ac59ed99c414677
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2025.

Transparency log

Release files / imgdd-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL imgdd-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
dbce07add99e54fe24a602f5621dbbc0939bfaa5d629ea4fe63f4bd35f2d0e3d
BLAKE2b-256 checksum
How to use checksums
1ed45ce11edecfef3682117f798a5634dd971a87c5933b50edb2ef5db86f11bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2025.

Transparency log

Release files / imgdd-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL imgdd-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl
Size 1.7 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
cfda0278b0811ded5f74d82b5035858901110b8795b247bb27c31ab9a96e7226
BLAKE2b-256 checksum
How to use checksums
63a025c1aa71d50f6a2092ba0b8d71362ab701c12b3865cf96c07c4f7fdde559
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2025.

Transparency log

Release files / imgdd-0.1.5-cp39-abi3-manylinux_2_34_x86_64.whl

Download URL imgdd-0.1.5-cp39-abi3-manylinux_2_34_x86_64.whl
Size 1.5 MB
Tags CPython 3.9 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
f01b759654ef591e57f31bfbdbd3b8becd5013380df05c4912a86320938309f4
BLAKE2b-256 checksum
How to use checksums
74f87928d15d41abd095bf8c3e52908820de9cfa4462d083c2e6de7e3b63b3fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2025.

Transparency log

Release files / imgdd-0.1.5-cp39-abi3-manylinux_2_34_aarch64.whl

Download URL imgdd-0.1.5-cp39-abi3-manylinux_2_34_aarch64.whl
Size 1.4 MB
Tags CPython 3.9 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
a762282ad692b8c8920a18cdc2e84814a35c22465cecb0c3e44db50149a84865
BLAKE2b-256 checksum
How to use checksums
21271a70ec8eb6d93171bd8b41d80bdf01eded5a1ccf2d8b268c556fa3bfdae5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2025.

Transparency log

Release files / imgdd-0.1.5-cp39-abi3-macosx_11_0_arm64.whl

Download URL imgdd-0.1.5-cp39-abi3-macosx_11_0_arm64.whl
Size 1.3 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1fd6dcf9dc31a8000cd109495dc46377c8b4944c7ff5a0074942c82985a65190
BLAKE2b-256 checksum
How to use checksums
3bd87d414bd4dbaf7c8080ffe283e334bcab3218544d4e3e81fcfe9c5555cb36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2025.

Transparency log

Release files / imgdd-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl

Download URL imgdd-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl
Size 1.4 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
465c6d7e4c3e49acd86ff760c9f29a895e9d9d2c4e41a36a4345e9de3db66693
BLAKE2b-256 checksum
How to use checksums
9d6964054b7f86c47fb1184cbbfbeedfe076796d9f573ff1305a93b5a21b2279
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.5 This release

8 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

8 release files

0.1.1

8 release files

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