Name | dupfilesremover JSON |
Version |
0.3.0.6
JSON |
| download |
home_page | https://github.com/JFF-Bohdan/dupfilesremover |
Summary | Duplicate files remover |
upload_time | 2025-01-19 16:11:13 |
maintainer | None |
docs_url | None |
author | Bohdan Danishevsky |
requires_python | >=3.10 |
license | MIT License Copyright (c) 2019 Bohdan Danishevsky Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
duplicates file remover
duplicate images remover
dups remover
|
VCS |
 |
bugtrack_url |
|
requirements |
loguru
terminaltables
tqdm
ConfigArgParse
humanize
first
|
Travis-CI |
|
coveralls test coverage |
No coveralls.
|
# dupfilesremover
Tool for duplicate files removing.
Removes duplicate files existing with same or different name in on one
or more folder(s).
For example, I do backups of my photos over multiple devices, and sometimes I can have same photo
copied multiple times. It can happen when I move photo from one folder to another.
This tool, helps me find duplicates of a same file, when it's stored in multiple folders or there are
multiple copies in a same folder but with a different names.
## Use case
For example, let's assume that same image available (with different names) in:
- Folders `data1`, `data2` and `data3`
- Sub-folders of any of these folders (for example `data1/new images/best`)
We want to remove all duplicates and follow these rules:
- Recursively remove all duplicates and save only one file
- In case if duplicates will be in same folder - save file with the shortest name
- Save images from `data1` folder (or sub-folders of `data1` in case if identical files
also available in `data2` and `data3`)
- In case if file will be found in any of `data1` sub-folders save with the shortest path
To do this we may just run:
```
python -m dupfilesremover --recurse .\data1 .\data2 .\data3
```
Basically the folders order in the command line will define priorities of the copies if more than
one will be found. As a result, `data1` will have the highest priority and inside `data1` files with shorter
file name and shortest path will have precedence.
## How to install
You can install from PyPi just by using:
```
pip install dupfilesremover
```
Or you can install from GitHub by using pip:
```
pip install git+https://github.com/JFF-Bohdan/dupfilesremover
```
Or just clone and install from source code:
```
git clone https://github.com/JFF-Bohdan/dupfilesremover.git
cd dupfilesremover
python setup.py install
```
## Usage
You can use tool like:
```shell
dupfilesremover --recurse tmp/folder1 tmp/folder2 tmp/folder3
```
In this example we are going to analyse folders `tmp/folder1`, `tmp/folder2` and `tmp/folder3`
for duplicate files and remove them.
If you would like to perform dry-run (no action files removal, just analysis), you can use:
```shell
dupfilesremover --dry-run --recurse tmp/folder1 tmp/folder2 tmp/folder3
```
Raw data
{
"_id": null,
"home_page": "https://github.com/JFF-Bohdan/dupfilesremover",
"name": "dupfilesremover",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "duplicates file remover, duplicate images remover, dups remover",
"author": "Bohdan Danishevsky",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/41/72/82e62df0423aed0b5e19b3e50c0e57f4574abb30aaf60a6f8b0bc2fa7710/dupfilesremover-0.3.0.6.tar.gz",
"platform": "all",
"description": "# dupfilesremover\n\nTool for duplicate files removing.\n\nRemoves duplicate files existing with same or different name in on one\nor more folder(s).\n\nFor example, I do backups of my photos over multiple devices, and sometimes I can have same photo \ncopied multiple times. It can happen when I move photo from one folder to another.\n\nThis tool, helps me find duplicates of a same file, when it's stored in multiple folders or there are \nmultiple copies in a same folder but with a different names.\n\n## Use case\n\nFor example, let's assume that same image available (with different names) in:\n\n- Folders `data1`, `data2` and `data3`\n- Sub-folders of any of these folders (for example `data1/new images/best`)\n\nWe want to remove all duplicates and follow these rules:\n\n- Recursively remove all duplicates and save only one file\n- In case if duplicates will be in same folder - save file with the shortest name\n- Save images from `data1` folder (or sub-folders of `data1` in case if identical files \n also available in `data2` and `data3`)\n- In case if file will be found in any of `data1` sub-folders save with the shortest path\n\nTo do this we may just run:\n\n```\npython -m dupfilesremover --recurse .\\data1 .\\data2 .\\data3\n```\n\nBasically the folders order in the command line will define priorities of the copies if more than \none will be found. As a result, `data1` will have the highest priority and inside `data1` files with shorter \nfile name and shortest path will have precedence.\n\n## How to install\n\nYou can install from PyPi just by using:\n\n```\npip install dupfilesremover\n```\n\nOr you can install from GitHub by using pip:\n\n```\npip install git+https://github.com/JFF-Bohdan/dupfilesremover\n```\n\nOr just clone and install from source code:\n\n```\ngit clone https://github.com/JFF-Bohdan/dupfilesremover.git\ncd dupfilesremover\npython setup.py install\n```\n\n## Usage\n\nYou can use tool like:\n\n```shell\ndupfilesremover --recurse tmp/folder1 tmp/folder2 tmp/folder3\n```\n\nIn this example we are going to analyse folders `tmp/folder1`, `tmp/folder2` and `tmp/folder3` \nfor duplicate files and remove them.\n\nIf you would like to perform dry-run (no action files removal, just analysis), you can use:\n\n```shell\ndupfilesremover --dry-run --recurse tmp/folder1 tmp/folder2 tmp/folder3\n```\n",
"bugtrack_url": null,
"license": "MIT License Copyright (c) 2019 Bohdan Danishevsky Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
"summary": "Duplicate files remover",
"version": "0.3.0.6",
"project_urls": {
"Homepage": "https://github.com/JFF-Bohdan/dupfilesremover"
},
"split_keywords": [
"duplicates file remover",
" duplicate images remover",
" dups remover"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "417282e62df0423aed0b5e19b3e50c0e57f4574abb30aaf60a6f8b0bc2fa7710",
"md5": "7c9fede724f654f9b2a901b21a311a73",
"sha256": "e34e38196aa9ade365d3d56204daf815b2037e1280c55530c96f53778bce782f"
},
"downloads": -1,
"filename": "dupfilesremover-0.3.0.6.tar.gz",
"has_sig": false,
"md5_digest": "7c9fede724f654f9b2a901b21a311a73",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 16359,
"upload_time": "2025-01-19T16:11:13",
"upload_time_iso_8601": "2025-01-19T16:11:13.387312Z",
"url": "https://files.pythonhosted.org/packages/41/72/82e62df0423aed0b5e19b3e50c0e57f4574abb30aaf60a6f8b0bc2fa7710/dupfilesremover-0.3.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-19 16:11:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JFF-Bohdan",
"github_project": "dupfilesremover",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "loguru",
"specs": [
[
"==",
"0.7.3"
]
]
},
{
"name": "terminaltables",
"specs": [
[
"==",
"3.1.10"
]
]
},
{
"name": "tqdm",
"specs": [
[
"==",
"4.67.1"
]
]
},
{
"name": "ConfigArgParse",
"specs": [
[
"==",
"1.7"
]
]
},
{
"name": "humanize",
"specs": [
[
"==",
"4.11.0"
]
]
},
{
"name": "first",
"specs": [
[
"==",
"2.0.2"
]
]
}
],
"lcname": "dupfilesremover"
}