{ "info": { "author": "yugn", "author_email": "cbznysrnpu@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "# yadupe\n\n__*yadupe*__ is yet another tool to find and remove duplicate files in a system.\nIt will recursively read a source directories, looking for duplicate files. Two files considered as duplicates if they have same size and content, though they could have different names.\n\nIn search mode utility report duplicate files list.\n\nIn deduplicate mode utility move duplicate files into the given destination directory. Only one file among group of duplicates is kept in the source directory. Also, report file contained all paths for moved diplicates will be saved in the destination directory.\n\n## Prerequisites\n\n* [Python 3.4+](http://www.python.org/)\n\n* [tqdm](https://tqdm.github.io/)\n\n\n## Install\n\n```\n% pip install yadupe\n```\n\nIf you don't have pip it's also easy to install: https://pip.pypa.io/en/stable/installing/\n\nWhen yadupe installed it is availble on the CLI:\n\n```\n% yadupe -h\n```\n\n## Usage\n\n1. Search and remove duplicate files in directories */home/user/source_a*, */home/user/source_b*. Found duplicates will be moved into */home/user/duplicates*, as well as report regarding moved files. Empty subfolders in *source_a* and *source_b* removed also.\n\n```\n% yadupe /home/user/source_a /home/user/source_b -d -p -r /home/user/duplicates\n```\n\n2. Search duplicates in directory */home/user/source_a* and print duplicate list.\n\n```\n% yadupe /home/user/source_a\n```\n\n3. There are couple examples of using yadupe package in Python applications in the __*examples*__ directory.\n\n## Options\n\n```\n% yadupe -h\n\nusage: yadupe [-h] [-d] [-p] [-r PATH] PATH [PATH ...]\n\nRecursively scan one or more given directories for duplicate files. Found\nduplicates list could be saved into report or printed out in console. Also,\nduplicates could be moved into destination directory in safe way, preserving\nit relative path. In this case file name is written in the report, as well as\nnew path for the file. If empty sub-directories turn up after duplicates\nremoval, the could be deleted as well.\n\npositional arguments:\n PATH Source path to search duplicated files.\n\noptional arguments:\n -h, --help show this help message and exit\n -d, --deduplicate Scan and remove mode. Duplicates will be moved into\n given directory.\n -p, --purge Remove empty subdirs after duplicates move.\n -r PATH, --result PATH\n Path to report dir (optional for default search mode)\n OR directory to move duplicated files into.\n```\n\n## Testing\n\nTo run unit tests in __*test*__ directory first unzip *test-data.zip* archive inside __*test-data*__ directory. It create required directory tree for tests.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yugn/yadupe", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "yadupe", "package_url": "https://pypi.org/project/yadupe/", "platform": "", "project_url": "https://pypi.org/project/yadupe/", "project_urls": { "Homepage": "https://github.com/yugn/yadupe" }, "release_url": "https://pypi.org/project/yadupe/1.0.2/", "requires_dist": [ "tqdm" ], "requires_python": "", "summary": "Recursively scan one or more given directories for duplicate files.", "version": "1.0.2" }, "last_serial": 5725133, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "b5b4a828e15128b364991b2f505ae8d0", "sha256": "224204a8d45f663c2224a4dc2baa2c31e0f0c94bd7327a3fe2258157faa30fa3" }, "downloads": -1, "filename": "yadupe-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b5b4a828e15128b364991b2f505ae8d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9383, "upload_time": "2019-08-15T11:01:33", "url": "https://files.pythonhosted.org/packages/45/f8/87f8dbdd5a035e89b2af16d789ebc7c0be507bb655e26b3c9f08d3035c12/yadupe-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29626766cf8fd7a958ddc025ade42caf", "sha256": "0cc670e0063ffe9a9cce4f51090fc5e12b63b0a069ed70a983599b286aa9e460" }, "downloads": -1, "filename": "yadupe-1.0.0.tar.gz", "has_sig": false, "md5_digest": "29626766cf8fd7a958ddc025ade42caf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9316, "upload_time": "2019-08-15T11:01:36", "url": "https://files.pythonhosted.org/packages/ef/92/dd235a594ded9bbb313a832869f4c3303055fa078b424d3cc6a25b0452f9/yadupe-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "008592c7691e3fccb2f8882876d2d444", "sha256": "8674e9a78061e19f7c0333ca5187820cfdf39b8e1123cc25a683c8b6c9b5b577" }, "downloads": -1, "filename": "yadupe-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "008592c7691e3fccb2f8882876d2d444", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9295, "upload_time": "2019-08-19T11:56:50", "url": "https://files.pythonhosted.org/packages/2c/ed/ed3dfa081defd2f8b32db4ccf332c5d244590ea37842182f0dc3d29d0164/yadupe-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fb489fea9325d16e566752158fd3bf4c", "sha256": "1324fbabe3cf3ec284fed5fa20b6b3e825363e9e28af54436d13ab97292f1237" }, "downloads": -1, "filename": "yadupe-1.0.1.tar.gz", "has_sig": false, "md5_digest": "fb489fea9325d16e566752158fd3bf4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9261, "upload_time": "2019-08-19T11:56:52", "url": "https://files.pythonhosted.org/packages/d9/be/3c23827f88ae81fa1c86ffe71887402bec3c9bc1b6dd8aefc5f457a414da/yadupe-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "8f2c3b504cf8c7e455d52d95cb242adb", "sha256": "717bc84d05c994107b27f73bb37e45603b1417e0284c6730291d14456cc29094" }, "downloads": -1, "filename": "yadupe-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8f2c3b504cf8c7e455d52d95cb242adb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9419, "upload_time": "2019-08-24T19:18:20", "url": "https://files.pythonhosted.org/packages/e3/65/c5d4b553b1a6af46fdc9dfa2c7c19f6f4c48c60f28fd27a6060a2f0b6e57/yadupe-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdb48198834eb5a32cb84d29e1bda902", "sha256": "ebbc0bf69e80dd0398bbd7bb89e44cabcd1b6389a974ea8c75b316ec40341fee" }, "downloads": -1, "filename": "yadupe-1.0.2.tar.gz", "has_sig": false, "md5_digest": "bdb48198834eb5a32cb84d29e1bda902", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9383, "upload_time": "2019-08-24T19:18:21", "url": "https://files.pythonhosted.org/packages/3f/e8/251c966931037e2e015e4e22ec8ff1976c0c708074b61f7bc3ee19125787/yadupe-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8f2c3b504cf8c7e455d52d95cb242adb", "sha256": "717bc84d05c994107b27f73bb37e45603b1417e0284c6730291d14456cc29094" }, "downloads": -1, "filename": "yadupe-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8f2c3b504cf8c7e455d52d95cb242adb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9419, "upload_time": "2019-08-24T19:18:20", "url": "https://files.pythonhosted.org/packages/e3/65/c5d4b553b1a6af46fdc9dfa2c7c19f6f4c48c60f28fd27a6060a2f0b6e57/yadupe-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdb48198834eb5a32cb84d29e1bda902", "sha256": "ebbc0bf69e80dd0398bbd7bb89e44cabcd1b6389a974ea8c75b316ec40341fee" }, "downloads": -1, "filename": "yadupe-1.0.2.tar.gz", "has_sig": false, "md5_digest": "bdb48198834eb5a32cb84d29e1bda902", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9383, "upload_time": "2019-08-24T19:18:21", "url": "https://files.pythonhosted.org/packages/3f/e8/251c966931037e2e015e4e22ec8ff1976c0c708074b61f7bc3ee19125787/yadupe-1.0.2.tar.gz" } ] }