Skip to main content

A modern VisiPics replacement.

Project description

PixMatch

PixMatch is a modern, cross-platform duplicate-image finder inspired by VisiPics, built with PySide6.

Basic view of the application

PixMatch scans folders (and ZIP archives) for visually similar images, groups matches, and lets you quickly keep, ignore, or delete files from a clean GUI. Rotated, mirrored or recompressed imgaes are no match for PixMatch! PixMatch can even detect visually similar GIFs and animated WebP files. Files inside ZIPs are treated as read-only “sources of truth” —never deleted—so you can safely compare against archived libraries.

Supported extensions: .jpg, .jpeg, .png, .webp, .tif, .tiff, .bmp, .gif, .zip.

Install

PixMatch is a standard Python app (GUI via PySide6).

python -m pip install pixmatch[gui]

Running

python -m pixmatch

Usage

Simply select some folders to parse and then click begin.

Once duplicate groups begin to appear in the duplicates view, you can start to select actions for them and then execute those actions. Clicking on a tile will cycle through actions, with red being delete, yellow being ignore, and green being no action.

Images which are in zips and cannot be deleted will have a rar icon to denote such, and they cannot be marked for deletion.

The status bar under each image shows the full path, the file size, the uncompressed file size, the frames in the image if it is an animated image, the image dimensions and the last modified date.

Basic status bar example:

Example of the status bar with a basic image loaded

Animated image status bar example:

Example of the status bar with an animated image loaded

Notes

  • An exact match checkbox is provided. If strength is 10 and this checkbox is checked, SHA-256 file hashes will be used instead of perceptual hashes.

Optional Args:

positional arguments:
  folders     Folders to load into the selected file path display (to speed up testing).

options:
  --verbose   More detailed logging

Acknowledgements

  • Thanks to anyone who supported this effort, including the teams behind PySide6, Pillow, PyPI, and many other projects.
  • Thanks to Johannes Buchner and the team behind imagehash, which serves as a large backbone in this application and saved me a lot of time.
  • Thanks to Guillaume Fouet (aka Ozone) for VisiPics and the inspiration. Please don't be mad, I just wanted some new features like better gif and zip support.

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

pixmatch-0.0.2.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

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

pixmatch-0.0.2-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file pixmatch-0.0.2.tar.gz.

File metadata

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

File hashes

Hashes for pixmatch-0.0.2.tar.gz
Algorithm Hash digest
SHA256 6b6de7847248df3553db3bf60215603bb633d2b7b6990fac6b987e4aa138cfa1
MD5 482d8d428927f29bc9eaf5db83e90077
BLAKE2b-256 1b2437b34edcfbe4a0fff57d241e2c9d44f6cb3c08206f6b46c2d8ca95e6354b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pixmatch-0.0.2.tar.gz:

Publisher: ci.yml on rheard/pixmatch

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

File details

Details for the file pixmatch-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: pixmatch-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pixmatch-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 60e2425eee5aa652616a7a4f914828f70e4aed01bbc35b87dcb2a8102181df43
MD5 2c69547301f0a589b7edf2a54664d0bd
BLAKE2b-256 bfca71564e8e5d153010f2d48876457d772998fadba073230aadea01ec0884b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pixmatch-0.0.2-py3-none-any.whl:

Publisher: ci.yml on rheard/pixmatch

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