2013-06-24 20:20:05 +00:00
# dupeGuru
2013-06-23 01:43:24 +00:00
2017-08-28 23:27:17 +00:00
[dupeGuru][dupeguru] is a cross-platform (Linux, OS X, Windows) GUI tool to find duplicate files in
2013-12-01 16:26:30 +00:00
a system. It's written mostly in Python 3 and has the peculiarity of using
[multiple GUI toolkits][cross-toolkit], all using the same core Python code. On OS X, the UI layer
2016-05-27 23:28:19 +00:00
is written in Objective-C and uses Cocoa. On Linux, it's written in Python and uses Qt5.
2013-12-01 16:26:30 +00:00
2017-03-12 01:41:47 +00:00
The Cocoa UI of dupeGuru is hosted in a separate repo: https://github.com/hsoft/dupeguru-cocoa
2018-10-11 02:12:01 +00:00
## Current status: Additional Maintainers Wanted (/ Note on Things in General)
2015-04-12 19:31:01 +00:00
2018-10-11 02:12:01 +00:00
When I started contributing to dupeGuru, it was to help provide an updated Windows build for dupeGuru. I hoped to contribute more over time and help work through some of the general issues as well. Since Virgil Dupras left as the lead maintainer, I have not been able to devote enough time to work through as many issues as I had hoped. Now I am going to be devoting a more consistent amount of time each month to work on dupeGuru, however I will not be able to get to all issues. Additionally there are a few specific areas where additional help would be appreciated:
2015-04-12 19:31:01 +00:00
2018-10-11 02:12:01 +00:00
- OSX maintenance
- UI issues (I have no experience with cocoa)
- General issues & releases (I lack OSX environments / hardware to develop and test on, looking into doing builds through Travis CI.)
- Linux maintenance
- Packaging (I have not really done much linux packaging yet, although will be spending some time trying to get at least .deb and potentially ppa's updated.)
2015-04-12 19:31:01 +00:00
2018-10-11 02:12:01 +00:00
I am still working to update the new site & update links within the help and the repository to use the new urls. Additionally, hoping to get a 4.0.4 release out this year for at least Windows and Linux.
2013-12-01 16:26:30 +00:00
2018-10-11 02:12:01 +00:00
Thanks,
2015-07-03 23:41:10 +00:00
2018-10-11 02:12:01 +00:00
Andrew Senetar
2015-12-25 01:50:33 +00:00
2016-06-06 21:00:57 +00:00
## Contents of this folder
2013-12-01 16:26:30 +00:00
2015-04-12 19:31:01 +00:00
This folder contains the source for dupeGuru. Its documentation is in `help` , but is also
2013-12-01 16:26:30 +00:00
[available online][documentation] in its built form. Here's how this source tree is organised:
2013-06-23 01:43:24 +00:00
* 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.
2014-04-19 21:48:48 +00:00
* pkg: Skeleton files required to create different packages
2013-06-23 01:43:24 +00:00
* help: Help document, written for Sphinx.
2013-06-24 20:20:05 +00:00
* locale: .po files for localisation.
2013-06-23 01:43:24 +00:00
There are also other sub-folder that comes from external repositories and are part of this repo as
2016-05-26 01:07:30 +00:00
git submodules:
2013-06-23 01:43:24 +00:00
* hscommon: A collection of helpers used across HS applications.
* qtlib: A collection of helpers used across Qt UI codebases of HS applications.
2016-06-06 21:00:57 +00:00
## How to build dupeGuru from source
2013-06-23 01:43:24 +00:00
2017-08-28 23:27:17 +00:00
### Windows
For windows instructions see the [Windows Instructions ](Windows.md ).
2017-03-12 01:41:47 +00:00
### Prerequisites
* [Python 3.4+][python]
* PyQt5
2016-08-16 02:38:47 +00:00
### make
2017-03-12 01:41:47 +00:00
dupeGuru is built with "make":
2016-08-16 02:38:47 +00:00
$ make
$ make run
2016-06-29 02:39:23 +00:00
### Generate Ubuntu packages
$ bash -c "pyvenv --system-site-packages env & & source env/bin/activate & & pip install -r requirements.txt & & python3 build.py --clean & & python3 package.py"
2016-06-06 21:00:57 +00:00
### Running tests
2016-01-05 22:14:05 +00:00
2017-01-09 03:34:49 +00:00
The complete test suite is run with [Tox 1.7+][tox]. If you have it installed system-wide, you
2016-01-05 22:14:05 +00:00
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`
2018-10-11 02:12:01 +00:00
[dupeguru]: https://dupeguru.voltaicideas.net/
2013-12-01 16:26:30 +00:00
[cross-toolkit]: http://www.hardcoded.net/articles/cross-toolkit-software
2018-10-11 02:12:01 +00:00
[documentation]: http://dupeguru.voltaicideas.net/help/en/
2013-06-24 20:20:05 +00:00
[python]: http://www.python.org/
[pyqt]: http://www.riverbankcomputing.com
2018-02-15 03:42:40 +00:00
[tox]: https://tox.readthedocs.org/en/latest/