Duplicate Image Finder
Duplicate image finder uses image hashing to find similar/duplicate images in your local storage. All you gotta do is
- install,
- run (will setup the database with table) if no configuration is provided,
- run specifying which directory to look for images, and finally
- run asking it to show duplicate/similar images.
Please note that it is a prototype. Please use at your own discretion.
For example:
# 1. installing
python3.9 -m pip install --user duplicate-image-finder
# 2. show help
duplicate-image-finder --help
# 3. add directory images and calculate hashes using 4 threads
duplicate-image-finder --add <directory> --parallel 4
# 4. show the duplicate/similar images found in your browser
duplicate-image-finder --show
Running 4 will result in opening a browser that shows duplicate/similar images. If you click on delete, it will be moved to .Trash folder.
Requirements
Lots, but all of them can be installed as dependencies as long as you are using python3.9. Unfortunately, some of its dependencies have not been made available in python3.10 yet, so we are stuck there.
Poetry
Installing dependencies
poetry install
Running
poetry run python duplicate_image_finder/duplicate_finder.py --show
Testing
poetry run pytest
etc.
This duplicate image finder source code is inspired/partially copied from https://github.com/philipbl/duplicate-images.git.
Significant changes from the referred version are:
- moved from
mongodbtosqlite - Is probably better in terms of finding similar images (or perhaps I misunderstood the previous code)
Concepts/Technologies I learned/tried to learn while doing this:
poetryfor dependencypytestfor unit testpysqlite3for databaseconcurrencyfor performanceimagehashfor perpetual image hashing for finding similarity- grouping CLI arguments in python (mutually exclusive, etc) using
argparser
Release files for duplicate-image-finder 0.2.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| duplicate_image_finder-0.2.10.tar.gz | 132.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| duplicate_image_finder-0.2.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:265.8 kB
Release files / duplicate_image_finder-0.2.10.tar.gz
| Download URL | duplicate_image_finder-0.2.10.tar.gz |
|---|---|
| Size | 132.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
063538559bbe4724ac51847150c0e819860cebe5e84bf088adc5baaa198dffe2
|
|
BLAKE2b-256 checksum How to use checksums |
9a543cdc9f03ba5a8f998d7a4a010fc286ea96d6d2917b2a195b406b231dab18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.10.4 Darwin/21.5.0
|
Release files / duplicate_image_finder-0.2.10-py3-none-any.whl
| Download URL | duplicate_image_finder-0.2.10-py3-none-any.whl |
|---|---|
| Size | 133.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1c42b1673e484d6c9ed2b14d5433f102b18e7ad3db1bb34417f248fddfabe2de
|
|
BLAKE2b-256 checksum How to use checksums |
abf0b82b3b8f4716721a1d47420c2a4402a992eeb61c0fc5838b051ae775f46e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.10.4 Darwin/21.5.0
|