Skip to main content

xclean

File de-duplication and archiving utility.

Scan files in main to record main files to compare against.

Scan files in target to find files that are duplicates of those in main.

By default it just lists the duplicates.

Removing duplicates

Specify --remove-dups to actually remove the duplicate files.

Archiving duplicates

Specify --archive-dup-path to archive the duplicate files to another location.

Archiving new files

Specify --archive-new-path to archive any new files to another location.

Trashing duplicates

Specify --trash-dups to move the duplicate files to the trash.

Reset the database

Reset the database content of main files by specifying --clean-db.

Compare XMP files as well

To compare the file and associated XMP file specify the --check-xmp option as well.

Compare AAE files as well

To compare the file and associated AAE file specify the --check-aae option as well.

Scanning specific file types

To scan files of specific types use the --include-extensions and --exclude-extensions options.

Prompt before changing

To answer a prompt before changing a file specify --prompt

Installation

Using pypi

pip install xclean

Using pipx

pipx install xclean

Usage

usage: xclean [-h] [-m MAIN] [-t TARGET] [--store-path STORE_PATH] [--archive-dup-path ARCHIVE_DUP_PATH] [--archive-new-path ARCHIVE_NEW_PATH]
   	       [--import-new-path IMPORT_NEW_PATH] [-i [INCLUDE_EXTENSIONS ...]] [-x [EXCLUDE_EXTENSIONS ...]] [--exclude-dirs [EXCLUDE_DIRS ...]] [--unprotect]
   	       [--remove-dups] [--trash-dups] [--clean-db] [--check-xmp] [--check-aae] [-p] [--report-new] [--report-dup] [--report-summary] [--copy-not-move]
   	       [--ignore-existing] [--ignore-xattr] [--min-size MIN_SIZE]

File de-duplication and archiving utility v0.1.1

options:
-h, --help            show this help message and exit
-m MAIN, --main MAIN  Directory where main files reside
-t TARGET, --target TARGET
                    	Directory where duplicate files may reside
--store-path STORE_PATH
                    	Directory where the database is stored
--archive-dup-path ARCHIVE_DUP_PATH
                    	Archive duplicates to directory
--archive-new-path ARCHIVE_NEW_PATH
                    	Archive new files to directory
--import-new-path IMPORT_NEW_PATH
                    	Directory where to import new main files into
-i [INCLUDE_EXTENSIONS ...], --include-extensions [INCLUDE_EXTENSIONS ...]
                    	Include Extensions
-x [EXCLUDE_EXTENSIONS ...], --exclude-extensions [EXCLUDE_EXTENSIONS ...]
                    	Exclude Extensions
--exclude-dirs [EXCLUDE_DIRS ...]
                    	Exclude directories
--unprotect           Unprotect main files
--remove-dups         Remove duplicate files
--trash-dups          Trash duplicate files
--clean-db            Clean database
--check-xmp           Include xmp files when checking for duplicates
--check-aae           Include aae files when checking for duplicates
-p, --prompt          Prompt before making changes
--report-new          Report new files
--report-dup          Report duplicate files
--report-summary      Report summary of changes
--copy-not-move       Copy archive and import instead of moving
--ignore-existing     Ignore existing archive files
--ignore-xattr        Ignore Apple extended attribute files
--min-size MIN_SIZE   Minimum size to clean (default 100)

Import will archive files and import them into the database. Archive and Import always copy the associated .XMP and .AAE files if they exist.

Release files for xclean 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xclean 0.1.1
File Size Uploaded
xclean-0.1.1.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xclean 0.1.1
File Interpreter ABI Platform
xclean-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 26.5 kB

Release files / xclean-0.1.1.tar.gz

Download URL xclean-0.1.1.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7ed096e989011803018e5ea4e388ee1cd4558949b2cb4a0358a65d216fa84a8d
BLAKE2b-256 checksum
How to use checksums
59bd72eec89d51f07f3ed850a8a0cea5b62a46561ede41a7a0ef2ccc0094f0d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release files / xclean-0.1.1-py3-none-any.whl

Download URL xclean-0.1.1-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce39cc5956a02995a09b4c5625c5daa7638dfc97f47ccc9ebbf160afe7a5379a
BLAKE2b-256 checksum
How to use checksums
faa2d5c53dda54f821272daec660b87b15cc295f04a3bb02c47ce1a1a5afdf23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.0

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page