{ "info": { "author": "Michael Mayer", "author_email": "michael@schnittstabil.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: System :: Archiving :: Backup" ], "description": "Install\n^^^^^^^\n\n.. code-block:: bash\n\n $ pip install findd\n\n\nUsage\n^^^^^\n\n.. code-block::\n\n $ findd --help\n usage: findd [-h] [--version] {init,update,list,run} ...\n\n positional arguments:\n {init,update,list,run}\n init create a new Findd project\n update update the index\n list list duplicates tracked by the index\n run run a command for duplicates tracked by the index\n\n optional arguments:\n -h, --help show this help message and exit\n --version show program's version number and exit\n\n Report findd bugs to \n findd home page: \n\n\nTypical Workflow\n^^^^^^^^^^^^^^^^\n\n.. code-block:: bash\n\n $ mkdir temp\n $ cd temp\n $ findd init\n $ ls -A\n .findd\n\n\n # create some duplicates\n $ mkdir directory\n $ echo a > directory/a.txt\n $ echo b > directory/b.txt\n $ echo c > directory/c.txt\n $ cp -r directory directory_copy\n $ tree -a\n .\n \u251c\u2500\u2500 directory\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 a.txt\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 b.txt\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 c.txt\n \u2514\u2500\u2500 directory_copy\n \u00a0\u00a0 \u251c\u2500\u2500 a.txt\n \u00a0\u00a0 \u251c\u2500\u2500 b.txt\n \u00a0\u00a0 \u2514\u2500\u2500 c.txt\n\n\n $ findd update -v\n scanning db 100% |#####################################################|\n scanning fs |#####################################################|\n hashing 100% |#####################################################|\n\n\n $ findd list\n 'directory/a.txt' 'directory_copy/a.txt'\n 'directory/c.txt' 'directory_copy/c.txt'\n 'directory/b.txt' 'directory_copy/b.txt'\n\n\n # remove a duplicate\n $ rm 'directory_copy/c.txt'\n\n\n $ findd update\n $ findd list\n 'directory/a.txt' 'directory_copy/a.txt'\n 'directory/b.txt' 'directory_copy/b.txt'\n\n\nLicense\n^^^^^^^\n\nCopyright \u00a9 2015 Michael Mayer\n\nLicensed under the `MIT License `_.\n\n.. |coveralls| image:: https://coveralls.io/repos/schnittstabil/findd/badge.svg?branch=master&service=github\n.. _coveralls: https://coveralls.io/github/schnittstabil/findd\n.. |travis| image:: https://travis-ci.org/schnittstabil/findd.svg?branch=master\n.. _travis: https://travis-ci.org/schnittstabil/findd", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/schnittstabil/findd", "keywords": "find duplicates cli database-assisted", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "findd", "package_url": "https://pypi.org/project/findd/", "platform": "any", "project_url": "https://pypi.org/project/findd/", "project_urls": { "Homepage": "https://github.com/schnittstabil/findd" }, "release_url": "https://pypi.org/project/findd/0.8.8/", "requires_dist": [ "backports.shutil-get-terminal-size", "blinker", "inflection", "progressbar2", "shellescape", "sqlalchemy" ], "requires_python": null, "summary": "Find duplicate files, based on size and hashvalues.", "version": "0.8.8" }, "last_serial": 1661961, "releases": { "0.8.0": [ { "comment_text": "", "digests": { "md5": "8403902dd83bfb0b3a198f58a331fe3e", "sha256": "7099c48576880aab7e06cbdfb19bd91fa2b3928b51893c78828cd790cbc31410" }, "downloads": -1, "filename": "findd-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8403902dd83bfb0b3a198f58a331fe3e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16965, "upload_time": "2015-07-15T18:56:37", "url": "https://files.pythonhosted.org/packages/e1/02/894550516669c24d82c6f2e85a01835c22f1190b18d335bc299c0b4a547f/findd-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "295a4820526d26d9a2d1a01cfa2a4fa6", "sha256": "336a519132fe6f14b480caa081467b6a7082c16c25f9665567b6f2f731dd26e5" }, "downloads": -1, "filename": "findd-0.8.0.tar.gz", "has_sig": false, "md5_digest": "295a4820526d26d9a2d1a01cfa2a4fa6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11638, "upload_time": "2015-07-15T18:56:28", "url": "https://files.pythonhosted.org/packages/ef/38/a433b8fbf7e1e20688e981adfdd28b46d3dfd5e151f4ad81c07128c69344/findd-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "e47a036aafc3a1a11fd54165c5b7414d", "sha256": "a6c195d35b52fe9f2d18208a1c7d541d49b083c8dc1bb6377e69ffc39b4bfd6e" }, "downloads": -1, "filename": "findd-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e47a036aafc3a1a11fd54165c5b7414d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16978, "upload_time": "2015-07-17T19:35:54", "url": "https://files.pythonhosted.org/packages/0c/85/28cc90cd4ddf4f6ccbea0c4b30be9f19dfe91e2de9498f6c66c4ff53c293/findd-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67dc27db63ee7116cab5c7341cf9c2fc", "sha256": "f83f1a5eda274b03ebade42258790fee7167b80e79f8dcf0f18e8e1477d48fc1" }, "downloads": -1, "filename": "findd-0.8.1.tar.gz", "has_sig": false, "md5_digest": "67dc27db63ee7116cab5c7341cf9c2fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11665, "upload_time": "2015-07-17T19:35:57", "url": "https://files.pythonhosted.org/packages/fd/03/72fabcf64d93e93909e6078fca1c558cb1e57c3a64bc39528d9ad9768a01/findd-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "2f68a070e3d57a191796f51e8e459b2d", "sha256": "926ff81b082b32cc6135d30647b3af93436943dc69d33d6dc748d9b7f79c3e71" }, "downloads": -1, "filename": "findd-0.8.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f68a070e3d57a191796f51e8e459b2d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17518, "upload_time": "2015-07-18T09:47:58", "url": "https://files.pythonhosted.org/packages/00/15/53b7276f81a5743e169d6ea3f645eb493c3c02fb19e042179e032b99a234/findd-0.8.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73d1cef5ca4db3a1ee2a462134a72302", "sha256": "a8a4e2ef21d89e0dba4e9ad0b1675f355fb0314f936f14f97c6e8ee19e5e8730" }, "downloads": -1, "filename": "findd-0.8.2.tar.gz", "has_sig": false, "md5_digest": "73d1cef5ca4db3a1ee2a462134a72302", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11945, "upload_time": "2015-07-18T09:48:02", "url": "https://files.pythonhosted.org/packages/1c/59/40fd8e8695efb3bca29b65808ff7d2f00e544d4ff9cc20e5bbd6b6e3029c/findd-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "20da6028ea8ae7bf1f96179be812afb6", "sha256": "e22ca95b95d5e6d3204d0c2ac83454414637f1ec1d45acd1cb3e6c68dcb90738" }, "downloads": -1, "filename": "findd-0.8.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "20da6028ea8ae7bf1f96179be812afb6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17572, "upload_time": "2015-07-18T10:56:02", "url": "https://files.pythonhosted.org/packages/fe/29/7aafa73e8ee04ff4f32497299badff11a42fb9b9de7fd788c99a912d2962/findd-0.8.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6aa34a0325caaf2513b2281ba719eb95", "sha256": "baa857bb8a98235ffb20860bc269c1f4c1632ce258d8c8ebcbc920d684d9cc29" }, "downloads": -1, "filename": "findd-0.8.3.tar.gz", "has_sig": false, "md5_digest": "6aa34a0325caaf2513b2281ba719eb95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11977, "upload_time": "2015-07-18T10:56:05", "url": "https://files.pythonhosted.org/packages/b8/02/69f64a01fcb3c4f6630c4e7be9e3034afe45e86d325b516e959a7403a202/findd-0.8.3.tar.gz" } ], "0.8.4": [ { "comment_text": "", "digests": { "md5": "39b61029e33c7378e91eae1a21b130f9", "sha256": "a5c4552fad8932cd709a99ab5e6ace08dc7aeec8501cb6eb763d2de2e9d9f373" }, "downloads": -1, "filename": "findd-0.8.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "39b61029e33c7378e91eae1a21b130f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17640, "upload_time": "2015-07-30T15:17:06", "url": "https://files.pythonhosted.org/packages/3c/17/fb43cd945d785bf8f2760163ba89bd5e48a93b1c81a17eaa30121ec1a01f/findd-0.8.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53ec91d331af08ec016b23e8d8555ef9", "sha256": "e8008ff34b5579586fb138edd0d2d66ae4ce6871f149c74842d3cb16c9031263" }, "downloads": -1, "filename": "findd-0.8.4.tar.gz", "has_sig": false, "md5_digest": "53ec91d331af08ec016b23e8d8555ef9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12044, "upload_time": "2015-07-30T15:17:10", "url": "https://files.pythonhosted.org/packages/2c/f1/3e5b59f418ef51128e7ba84b4de2737ace83a287e4279eea1a387615afa6/findd-0.8.4.tar.gz" } ], "0.8.5": [ { "comment_text": "", "digests": { "md5": "7c66bc1ba13be0bfadcd5f55c559d83e", "sha256": "3d22e0dcb291975f5a47fe8d1fe60bcce862a2c2fd3dcfc96c1fdaa9a4effc16" }, "downloads": -1, "filename": "findd-0.8.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7c66bc1ba13be0bfadcd5f55c559d83e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17765, "upload_time": "2015-07-30T19:25:46", "url": "https://files.pythonhosted.org/packages/5c/a3/5d98cbcab0502b646a65eb9102bd4526ab3438f241d3eb639d79b4a830be/findd-0.8.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4be778181960c6c168181c566231d15e", "sha256": "b72d3b8281a59ced4cbab6e05b1a8a89c7bef4fec7180e028be96d6f0e49c3ca" }, "downloads": -1, "filename": "findd-0.8.5.tar.gz", "has_sig": false, "md5_digest": "4be778181960c6c168181c566231d15e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12166, "upload_time": "2015-07-30T19:25:51", "url": "https://files.pythonhosted.org/packages/2c/9b/fd0c1321cd3688939db1ddadd73c82bc7032d26267e25df7c5b7ffb9a46a/findd-0.8.5.tar.gz" } ], "0.8.6": [ { "comment_text": "", "digests": { "md5": "e9dd2704970784de66fe8759ca91a67a", "sha256": "550fa58b70a1b87aaa6795123dc0f61cfc726dbd6888b1a01ae54f2ad2f7e971" }, "downloads": -1, "filename": "findd-0.8.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e9dd2704970784de66fe8759ca91a67a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18214, "upload_time": "2015-07-31T15:09:42", "url": "https://files.pythonhosted.org/packages/1f/7f/f594622c4443b4c91c6bfa591a3cd8c71999b233cc06d178e6a87de42c42/findd-0.8.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c504f6deb09aea682dc009153d4b5ac", "sha256": "6d1cb4705e97d2065101b5613d57c403f4a3fae522e984c1336b62a0121860cd" }, "downloads": -1, "filename": "findd-0.8.6.tar.gz", "has_sig": false, "md5_digest": "9c504f6deb09aea682dc009153d4b5ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12415, "upload_time": "2015-07-31T15:09:46", "url": "https://files.pythonhosted.org/packages/9d/1d/85658bd9e1e1363d2f545651005ed475a65b3437ab165fb68dfe34614b7f/findd-0.8.6.tar.gz" } ], "0.8.7": [ { "comment_text": "", "digests": { "md5": "9c405a6717fc238cb06bbb4a3d9ac8c5", "sha256": "7193d8dcb6c2d26b67ab0d490341e0c1d222f279c64d81e704b5ed7b3bd625be" }, "downloads": -1, "filename": "findd-0.8.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c405a6717fc238cb06bbb4a3d9ac8c5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18142, "upload_time": "2015-07-31T20:18:33", "url": "https://files.pythonhosted.org/packages/b3/a4/f599845716d05efb2fd7c250745415fc984c327ea33666db0daeab5497ce/findd-0.8.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "681e9b7a777f43fe092d5c6a04e0c1de", "sha256": "418b8ee9d7bf24283eb33f15e6da2e0c6b7404259383e5d853e549c26072424b" }, "downloads": -1, "filename": "findd-0.8.7.tar.gz", "has_sig": false, "md5_digest": "681e9b7a777f43fe092d5c6a04e0c1de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12463, "upload_time": "2015-07-31T20:18:37", "url": "https://files.pythonhosted.org/packages/9e/08/02d51606d3ee73d8cea610d6ecbdd8f9134a5ab781468a0c5f06e0eeb363/findd-0.8.7.tar.gz" } ], "0.8.8": [ { "comment_text": "", "digests": { "md5": "b8697b94f30c66527d2a5c653646451b", "sha256": "201f8ae2191b15260b6ad27a4b0309f26c7a608c5cb73731b8766e4b1b8fe0ee" }, "downloads": -1, "filename": "findd-0.8.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b8697b94f30c66527d2a5c653646451b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18425, "upload_time": "2015-08-03T14:00:10", "url": "https://files.pythonhosted.org/packages/c6/04/584c84deee8e185f2cec4a7d0cac3fbb3e09aeaf120564b0b04bbc0de82f/findd-0.8.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59e80fc37080071dad708ff1665e8d3c", "sha256": "06c37c2db0141f0faf9a4a8a2e7f088720f31997a5ac603aae7be09bda74c37e" }, "downloads": -1, "filename": "findd-0.8.8.tar.gz", "has_sig": false, "md5_digest": "59e80fc37080071dad708ff1665e8d3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12565, "upload_time": "2015-08-03T14:00:29", "url": "https://files.pythonhosted.org/packages/74/db/5d79f46dabb38361a59992f13af83a4f50430a5f0b90283254ce2903fb69/findd-0.8.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b8697b94f30c66527d2a5c653646451b", "sha256": "201f8ae2191b15260b6ad27a4b0309f26c7a608c5cb73731b8766e4b1b8fe0ee" }, "downloads": -1, "filename": "findd-0.8.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b8697b94f30c66527d2a5c653646451b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18425, "upload_time": "2015-08-03T14:00:10", "url": "https://files.pythonhosted.org/packages/c6/04/584c84deee8e185f2cec4a7d0cac3fbb3e09aeaf120564b0b04bbc0de82f/findd-0.8.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59e80fc37080071dad708ff1665e8d3c", "sha256": "06c37c2db0141f0faf9a4a8a2e7f088720f31997a5ac603aae7be09bda74c37e" }, "downloads": -1, "filename": "findd-0.8.8.tar.gz", "has_sig": false, "md5_digest": "59e80fc37080071dad708ff1665e8d3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12565, "upload_time": "2015-08-03T14:00:29", "url": "https://files.pythonhosted.org/packages/74/db/5d79f46dabb38361a59992f13af83a4f50430a5f0b90283254ce2903fb69/findd-0.8.8.tar.gz" } ] }