Clone or download
arsenetar Merge pull request #533 from arsenetar/hscommonUpdate
Update hscommon & .travis.yml for Python 3.7
Latest commit f7e20c8 Dec 4, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Current status: unmaintained Feb 15, 2018
.tx Pulled all locs from Transifex Aug 3, 2013
core Update to fix Travis Build & flake8 warning Dec 5, 2018
help v4.0.3 Nov 25, 2016
hscommon @ a56aee2 Update hscommon & .travis.yml for Python 3.7 Dec 5, 2018
images Update packaging to conform with package unification and few fixes (#372 Jun 29, 2016
locale Updated wrongly translated wording Jul 11, 2018
pkg Add make install and make uninstall Aug 24, 2016
qt Update qt/ Oct 11, 2018
qtlib @ 5fc960d Update submodule for hscommon & qtlib Feb 28, 2018
scripts Add 'make srcpkg' Aug 23, 2016
.ctags Add ctags config Jun 8, 2016
.gitignore Initial Update of Windows Packaging (#438) Aug 28, 2017
.gitmodules Remove cocoa Mar 12, 2017
.travis.yml Update to fix Travis Build & flake8 warning Dec 5, 2018
CREDITS Moved credits to the root folder Aug 17, 2016
LICENSE Change license from BSD to GPLv3 Jan 4, 2015
Makefile Make tox work with non-venv interpreters Sep 19, 2017 Current status: unmaintained Feb 15, 2018 Initial Update of Windows Packaging (#438) Aug 28, 2017 Remove cocoa-related code from Mar 12, 2017 Include dbm.dumb for windows build (#490) Feb 26, 2018
requirements-extra.txt Adjust requirements to pytest 3.0 release Aug 23, 2016
requirements-windows.txt Fix #456 & #461 (#491) Feb 26, 2018
requirements.txt Integrated the jobprogress library into hscommon Oct 5, 2014 Initial Update of Windows Packaging (#438) Aug 28, 2017
setup.nsi Fix #456 & #461 (#491) Feb 26, 2018
tox.ini Fix spurious flake8 failures Nov 16, 2017


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: Unmaintained

I haven't worked on dupeGuru for a while and frankly, I don't want to. I never had any duplicate problems so I don't even care about the raison d'être of this thing.

I don't want to answer incoming issues and I don't want to let them pile off unanswered either, that feels rude. So here I am, being straightforward about it.

If you're considering using dupeGuru, you might want to give it a try but if it doesn't meet your needs I suggest that you use another program because it's unlikely to ever be improved again.

If you're a developer wanting to pick it up, by all means, do so! Fork it off and release something. I will be more than happy to "officially" point to any fork that remotely looks like a serious effort. I will also be happy to assist if you have questions about the code.

Good bye dupeGuru, Virgil Dupras

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 organised:

  • 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 localisation.

There are also other sub-folder that comes from external repositories and are part of this repo as git submodules:

  • 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 Ubuntu packages

$ bash -c "pyvenv --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