Skip to content

Releases: elisemercury/Duplicate-Image-Finder

v4.2.1

Choose a tag to compare

@elisemercury elisemercury released this 14 Jan 22:43
8d93014

Bug fix:

  • Fixed issue #119 where difPy would set same_dim = True when similarity = "similar".

v4.2.0

Choose a tag to compare

@elisemercury elisemercury released this 07 Jan 22:28

Major updates:

  • New feature: renamed the lazy parameter to same_dim to make the usage of difPy more intuitive. The functionality remains the same.
  • Enhancements:
    • Improved the CLI usage by ensuring parameter validation is performed before any search is performed.
    • Improved search.stats generation by using dict literals, as suggested by @AliSot2000 in #112
  • Bug fixes:
    • Implemented fix for #110 where difPy would throw an error when writing the lower_quality files to the output file during CLI usage.
    • Implemented fix for #111 where difPy would falsely accept both the move_to and delete parameters.
  • Deprecated backwards compatibility with logs parameter. difPy now throws an exception if logs is given.
  • Improved error handling
  • Improved parameter validation

v4.1.3

Choose a tag to compare

@elisemercury elisemercury released this 17 Nov 14:26
b0f8851

Major update to the behavior of lower_quality:

  • Previously, difPy would compare the file sizes to determine whether an image would be lower or higher quality.
  • Starting with v.4.1.3, difPy now considers the image resolution (pixel width x pixel height) the determine image quality. This is a more accurate measure, since image file sizes could be lower for certain file types even though images would have higher resolutions (this is due to the difference in the way images are compressed with different file type algorithms).

v4.1.2

Choose a tag to compare

@elisemercury elisemercury released this 16 Nov 17:01

Minor updates:

  • Removed constraint that would not allow recursive to be set to True when in_folder would be set to True.
  • Implemented fix for #94 where difPy would not search through files in folders containing brackets ("[" or "]") in the file path when in_folder would be set to True.
  • Implemented fix for #105 where the search.results output would be inaccurate when in_folder would be set to True.
  • Other minor code improvements.
  • Fixed typos in README.md.

v4.1.1

Choose a tag to compare

@elisemercury elisemercury released this 09 Oct 21:05

Bug fixes and minor code updates:

  • Implemented a fix for #85 which would cause multiprocessing to throw an error when multiple processes would be running. The fix involves integrating multiprocessing.freeze_support() as suggested by @pauljohn2000.
  • @dmcken fixed #96 by adding better support for error handling.
  • @FlavienRx improved the search.delete function structure.

v4.1.0

Choose a tag to compare

@elisemercury elisemercury released this 20 Feb 22:37

Major enhancements and new features:

  • Enhancement: provides a fix for #80. difPy now comes with an improved algorithm for handling larger datasets in order to be more memory efficient, see Using difPy with Large Datasets. As part of this enhancement, two new parameters were added:
    • processes has been added to difPy.build and difPy.search, and defines the number of worker processes for multiprocessing. Read more here.
    • chunksize has been added to difPy.search and sets the batch size at which the job is simultaneously processed when multiprocessing. Read more here.
  • Enhancement: difPy comes with improved performance due to major improvements in the comparison algorithms. As part of this enhancement, a new parameter was added:
    • lazy was added to difPy.search which allows difPy to search more efficiently for exact duplicates (i. e. two exact file copies). By default, lazy is set to True and should only be turned off when searching for images that are not exact duplicates (i. e. having different dimensions, different file types, etc.). Read more here.
  • Enhancement: the default value of the similarity parameter was reduced from 50 to 5.
  • Enhancement: the progress bar has been improved.
  • New feature: difPy.search now supports the rotate parameter. If set to False, images will not be rotated on comparison, which can significantly reduce comparison times. Read more here.
  • New feature: the output structure of difPy has been adjusted for improved user-friendliness: the structure of search.result is now simpler with less levels of depth, and search.lower_quality now comes as a list. When invoked via the CLI, the lower_quality output file will now be in .txt format.

See the difPy usage guide for more details. Happy deduplicating! 🎉

v4.1.0-beta

v4.1.0-beta Pre-release
Pre-release

Choose a tag to compare

@elisemercury elisemercury released this 19 Feb 22:39

Initial beta version release of difPy v4.1.0.

v4.0.1

Choose a tag to compare

@elisemercury elisemercury released this 27 Sep 19:10

Minor bug fixes:

  • Fixed issue #77 where difPy would throw an error when extracting the file extension from files that contain a dot in the name.
  • Fixed issue #78 where search.delete() would never successfully delete the lower quality images.
  • Implemented and fixed handling for issue #75.

v4.0.0

Choose a tag to compare

@elisemercury elisemercury released this 31 Aug 20:18
7389ccb

difPy v4 comes with major updates, code improvements and new features 🎉

  • Enhancement: difPy now leverages Python's multiprocessing capabilities which results in significant performance increases. In tests, difPy v4 was on average 10x faster than it's previous versions on the same datasets. Suggested by @TheLastGimbus and @thecodingchicken.
  • Enhancement: difPy's processes have been split into difPy.build and difPy.search so that multiple searches can be performed on the same image repository and not having to re-build it.
  • Enhancement: difPy is now more lightweight thanks to reduced dependency on external packages and increased usage of Numpy capabilities.
  • New feature: difPy now supports in_folder search, allowing to search separately among directories, instead of in the union of all directories. Suggested by @audiomuze in #53.
  • New feature: when running from the CLI, if no folder is specified, difPy will run by default in the working directory.
  • Various other minor code improvements

The usage of difPy v4 varies significantly to previous versions. It is therefore recommended to see the updated difPy Usage Documentation.

v4.0.0-beta

v4.0.0-beta Pre-release
Pre-release

Choose a tag to compare

@elisemercury elisemercury released this 28 Aug 18:11

Initial beta version release of difPy v4.