You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andrew Senetar 1d05f8910d
Merge pull request #701 from glubsy/PR_ref_row_background_color
3 days ago
.github/ISSUE_TEMPLATE Remove Old Issue Template 4 months ago
.tx Pulled all locs from Transifex 7 years ago
core Save/Load directories in Directories 1 month ago
help Remove RC from changelog version 1 year ago
hscommon Add details to commented out tests. 4 months ago
images Remove icon credits from about box 3 days ago
locale Updated wrongly translated wording 2 years ago
pkg Add changelog to pkg/debian 4 months ago
qt Merge branch 'master' into PR_ref_row_background_color 3 days ago
qtlib Remove icon credits from about box 3 days ago
scripts Update Packaging 10 months ago
.ctags Add ctags config 4 years ago
.gitignore Add image comparison features to details dialog 4 months ago
.travis.yml Call style-checker tox environment 5 months ago
CREDITS Remove icon credits from about box 3 days ago
LICENSE Change license from BSD to GPLv3 5 years ago
Makefile remove 'm' from SO var on Linux and OSX 8 months ago Update documentation & CI 10 months ago Update documentation & CI 10 months ago Format files with black 10 months ago Fix typo in error message 3 months ago
requirements-extra.txt Upgrade to latest pytest 4 months ago
requirements-windows.txt Fix pywin32 dependency 4 months ago
requirements.txt Add distro to requirements and use for packaging 4 months ago More Test and Flake8 Cleanup 4 months ago
setup.nsi Update Windows Build 1 year ago
tox.ini More Test and Flake8 Cleanup 4 months ago
win_version_info.temp Update Windows Build 1 year ago


dupeGuru is a cross-platform (Linux, OS X, Windows) GUI tool to find duplicate files in a system. It’s written mostly in Python 3 and has the peculiarity of using multiple GUI toolkits, all using the same core Python code. On OS X, the UI layer is written in Objective-C and uses Cocoa. On Linux, it’s written in Python and uses Qt5.

The Cocoa UI of dupeGuru is hosted in a separate repo:

Current status

Development has been slow this past year, however very close to getting all the different 4.0.4 releases posted. Most of the work this past year (2019) has been towards packaging the application and issues related to that.

Still looking for additional help especially with regards to:

  • OSX maintenance (reproducing bugs & cocoa version)
  • Linux maintenance (reproducing bugs)

Contents of this folder

This folder contains the source for dupeGuru. Its documentation is in help, but is also available online in its built form. Here’s how this source tree is organized:

  • core: Contains the core logic code for dupeGuru. It’s Python code.
  • qt: UI code for the Qt toolkit. It’s written in Python and uses PyQt.
  • images: Images used by the different UI codebases.
  • pkg: Skeleton files required to create different packages
  • help: Help document, written for Sphinx.
  • locale: .po files for localization.
  • hscommon: A collection of helpers used across HS applications.
  • qtlib: A collection of helpers used across Qt UI codebases of HS applications.

How to build dupeGuru from source


For windows instructions see the Windows Instructions.



dupeGuru is built with “make”:

$ make
$ make run

Generate Debian/Ubuntu package

$ bash -c "python3 -m venv --system-site-packages env && source env/bin/activate && pip install -r requirements.txt && python3 --clean && python3"

Running tests

The complete test suite is run with Tox 1.7+. If you have it installed system-wide, you don’t even need to set up a virtualenv. Just cd into the root project folder and run tox.

If you don’t have Tox system-wide, install it in your virtualenv with pip install tox and then run tox.

You can also run automated tests without Tox. Extra requirements for running tests are in requirements-extra.txt. So, you can do pip install -r requirements-extra.txt inside your virtualenv and then py.test core hscommon