Skip to main content

Duple is a CLI that finds and removes duplicate files.

Project description

Project Description

Duple is a small package that will find and remove duplicate files. I created duple only because there is no port of rmlint to Windows. I suggest using rmlint on unix/linux systems instead - it is far superior to duple.

Duple will iterate through all files and directories that is given and calculate a hash value, hash can be specified. Then, it groups all of those results into a dictionary with the hashes as the key. Dictionary entries with 2 or more values constitute a duplicate. The duplicate that will be kept is specified with an optional flag. To see the flags and their descriptions:

duple scan --help

Once the scan is complete, you can review the output file (duple.delete) and modify at your discretion. Once you have reviewed and modified, run the following command to send the duplicates to the trash:

duple rm

Installation

pip install duple

You may need to add the Python Scripts folder on your computer to the PATH -> search stackoverflow.com for more information.

Usage

duple has two sub-commands: scan and rm. Scan scans your system based on the arguments given to scan and reports those results in output files reported by duple scan.

An Example:

The command below will scan the currenty directory and calculate a hash for each file to determine if there are duplicates:

duple scan -d . 'sha256'

-d\t :\tspecifies the duplicate resolution behavior, in this case, duple will keep the duplicate with the lowest filesystem depth.
.\t :\tspecifies the current directory, to be scanned
'sha256'\t:\tspecifies the hash function to use when duple calculates hashes to determine if files are duplicates

Version History

0.4.0 Performance Improvements

-adding multiprocessing, taking advantage of multiple cores
-ignoring files that don't have the same filesize as another file - can greatly reduce the number of files that need to be hashed

0.3.0 Added Capability

-added mv function that will move 'duple.delete' paths instead of deleting them

0.2.0 Added license

-Added license

0.1.1 Misc. Fixes

-Fixed typos in help strings
-Added support for sending duplicates to trash ('duple rm')

0.1.0 Initial Release

This is the initial release of duple

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

duple-0.4.1.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

duple-0.4.1-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file duple-0.4.1.tar.gz.

File metadata

  • Download URL: duple-0.4.1.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.10 Darwin/23.5.0

File hashes

Hashes for duple-0.4.1.tar.gz
Algorithm Hash digest
SHA256 3b9ad5936dcf6315710c37b53ae4fa08455b5220ca80d563985b3a2d3436c076
MD5 ca0230603f1a4867c270463a5a89d978
BLAKE2b-256 079eb3c050972eb758c148be495b617330ceb30fda9de4b29d97ad5c6f40eb99

See more details on using hashes here.

File details

Details for the file duple-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: duple-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.10 Darwin/23.5.0

File hashes

Hashes for duple-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aaa594464a69aa1c765780f8a6e94cafc39af65d50a2785b47aa7b1d90ab4294
MD5 b8ca6ac16d8f2274f9d23a25934bbabe
BLAKE2b-256 03d7ba2cce45da18084a18195be9097dd99bbfbcf68c4e7ea35a8d7bcac7cd57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page