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 9e6b117327
Merge pull request #698 from glubsy/fix_630
3 days ago
.github/ISSUE_TEMPLATE Remove Old Issue Template 1 month ago
.tx Pulled all locs from Transifex 7 years ago
core Properly wait for multiprocesses to exit 1 week ago
help Remove RC from changelog version 1 year ago
hscommon Add details to commented out tests. 1 month ago
images Update packaging to conform with package unification and few fixes (#372) 4 years ago
locale Updated wrongly translated wording 2 years ago
pkg Add changelog to pkg/debian 1 month ago
qt Try to handle conversion to int or fail gracefully 3 days ago
qtlib Format files with black 7 months ago
scripts Update Packaging 7 months ago
.ctags Add ctags config 4 years ago
.gitignore Update Windows Build 1 year ago
.travis.yml Call style-checker tox environment 2 months ago
CREDITS Moved credits to the root folder 4 years ago
LICENSE Change license from BSD to GPLv3 5 years ago
Makefile remove 'm' from SO var on Linux and OSX 5 months ago Update documentation & CI 7 months ago Update documentation & CI 7 months ago Format files with black 7 months ago Fix typo in error message 2 weeks ago
requirements-extra.txt Upgrade to latest pytest 1 month ago
requirements-windows.txt Fix pywin32 dependency 1 month ago
requirements.txt Add distro to requirements and use for packaging 1 month ago More Test and Flake8 Cleanup 1 month ago
setup.nsi Update Windows Build 1 year ago
tox.ini More Test and Flake8 Cleanup 1 month 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