{ "info": { "author": "Michael Henry", "author_email": "drmikehenry@drmikehenry.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Text Processing", "Topic :: Utilities" ], "description": "findx - an extended ``find`` command.\n=====================================\n\nOverview\n--------\n\n``findx`` is an extended version of the Unix ``find`` command written in the\nPython language as a wrapper around ``find`` and other Unix tools. ``find`` is\na very powerful tool, but by itself there are a large number of arguments\nrequired for a typical invocation. ``findx`` provides convenient shortcuts for\ninvoking ``find`` without so much typing.\n\nAs a quick example, imagine using ``find``, ``xargs`` and ``grep`` to search\nthrough a tree of files. A simple invocation might be::\n\n find -type f | xargs grep PATTERN\n\nBut the above invocation won't correctly handle file with spaces or unusual\ncharacters; handling that grows the command to::\n\n find -type f -print0 | xargs -0 grep PATTERN\n\nFilenames are handled correctly now, but the command probably searches through\nsome uninteresting files. It also misses on a couple of boundary cases. You'd\nprobably like to include ``xargs --no-run-if-empty`` to ensure ``grep`` isn't\ninvoked when no files are found; you might want to follow symbolic links as well\nas files; and you might want to skip over ``.git`` directories (for example).\nAdding those into the above command grows things considerably::\n\n find -L -name .git -prune -o -type f -print0 |\n xargs -0 --no-run-if-empty grep PATTERN\n\nAfter excluding additional files and directories and perhaps adding\n``--color=auto`` to the ``grep`` invocation, things are getting out of hand.\n``findx`` exists to make such invocations simpler. First, ``findx`` knows about\nthe need for ``-print0`` and ``xargs -0 --no-run-if-empty``; using ``:`` implies\nall of the standard protocol for using ``xargs`` correctly, reducing the above\nto::\n\n findx -L -name .git -prune -o -type f : grep PATTERN\n\nStandard paths to ignore are requested via ``-stdx``::\n\n findx -L -stdx -type f : grep PATTERN\n\nFollowing symlinks to files and producing only files is another common\nrequirement; the switch ``-ffx`` implies finding files (following symlinks)\nwhile excluding a predefined set of directories and files::\n\n findx -ffx : grep PATTERN\n\nPiping filenames into ``grep`` is such a common pattern that the ``-ffg`` switch\nis the same as ``-ffx : grep``, reducing things to::\n\n findx -ffg PATTERN\n\nIn addition, ``ffx`` and ``ffg`` are to additional entry points into ``findx``\nthat reduce things even further::\n\n ffx = findx -ffx\n ffg = findx -ffg\n\nIn the most common case, searching a file tree thus reduces to::\n\n ffg PATTERN\n\nSee ``findx --help`` or read the top of ``findx.py`` for more details.\n\nInstallation\n------------\n\nFrom PyPI, installation is the usual::\n\n pip install findx\n\nFrom the source tree, install via::\n\n python setup.py install\n\nRunning the tests\n-----------------\n\nInstall any development requirements::\n\n pip install -r dev-requirements.txt\n\nRun tests via pytest::\n\n pytest\n\nChanges\n-------\n\nSee CHANGES.rst for a history of changes.\n\nLicense\n-------\n\n``findx`` is distributed under the terms of the MIT license; see LICENSE.rst\nfor details.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/drmikehenry/findx", "keywords": "extended find file search", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "findx", "package_url": "https://pypi.org/project/findx/", "platform": "", "project_url": "https://pypi.org/project/findx/", "project_urls": { "Homepage": "https://github.com/drmikehenry/findx" }, "release_url": "https://pypi.org/project/findx/0.9.12/", "requires_dist": null, "requires_python": "", "summary": "``findx``, an extended ``find`` command.", "version": "0.9.12" }, "last_serial": 4644751, "releases": { "0.9.10": [ { "comment_text": "", "digests": { "md5": "1476140404b1f0d21afb6ad0f9b634b8", "sha256": "887922940c80f16bfbd534bb11427da2099ed766581388dc7f3eb8f46e6c07b7" }, "downloads": -1, "filename": "findx-0.9.10.tar.gz", "has_sig": false, "md5_digest": "1476140404b1f0d21afb6ad0f9b634b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21229, "upload_time": "2016-08-07T22:49:12", "url": "https://files.pythonhosted.org/packages/4e/d2/ff4badd1b7580e80a942947beed8eb3a14bd48f896c27ab479a2f58829c1/findx-0.9.10.tar.gz" } ], "0.9.11": [ { "comment_text": "", "digests": { "md5": "67a9ffa577eab3399f931c94d0526095", "sha256": "8162fd53e463c3325e0708906d99a0bab3d98cc7424c2689eb11b85604183745" }, "downloads": -1, "filename": "findx-0.9.11.tar.gz", "has_sig": false, "md5_digest": "67a9ffa577eab3399f931c94d0526095", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21330, "upload_time": "2016-08-08T11:00:15", "url": "https://files.pythonhosted.org/packages/7d/c6/37c2bfb3ad8f6dde5ce3c34c0f102b9572e3ada8df44267f6e1b28b922bf/findx-0.9.11.tar.gz" } ], "0.9.12": [ { "comment_text": "", "digests": { "md5": "129301193d97f47e999bcd44f7ab9ca0", "sha256": "fd348776074ee38a1540d612019181822e76d2cfb5bc7c48b14bda8de3c9fee5" }, "downloads": -1, "filename": "findx-0.9.12.tar.gz", "has_sig": false, "md5_digest": "129301193d97f47e999bcd44f7ab9ca0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19157, "upload_time": "2018-12-29T21:39:33", "url": "https://files.pythonhosted.org/packages/b7/28/8c90f829425c9d15e1d5af006d5cd12e380a6ce727eb5169480805e79008/findx-0.9.12.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "f1d93ff2ef9cad617b82042b6ae0260f", "sha256": "a42ebeee98656ea795335f924b55a8aa15d9425688bac6977c909b35559cfd88" }, "downloads": -1, "filename": "findx-0.9.6.tar.gz", "has_sig": false, "md5_digest": "f1d93ff2ef9cad617b82042b6ae0260f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13229, "upload_time": "2016-05-19T01:08:22", "url": "https://files.pythonhosted.org/packages/70/fe/69506c0dd2eab9fac1607fa07e521a599e86dda58b63b2b89030cfe5c0b5/findx-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "ea6b6416ec46f64c426924c0a9208790", "sha256": "76e316832c32efc7f9f178a2a49bee74b7f3e1afca5829c8d26faba102f78212" }, "downloads": -1, "filename": "findx-0.9.7.tar.gz", "has_sig": false, "md5_digest": "ea6b6416ec46f64c426924c0a9208790", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13527, "upload_time": "2016-05-26T11:31:54", "url": "https://files.pythonhosted.org/packages/94/09/c0dc66ade9aa33efe0dd00b9eb5dd7c2aee45a0112e0ee8932a98d582d49/findx-0.9.7.tar.gz" } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "c54cd60e50996dab760a0c5b7ab3ab47", "sha256": "0996aa1fa1639b94dc748603c58676fd7453c9fd3d2a261dea0c53cafc647de1" }, "downloads": -1, "filename": "findx-0.9.8.tar.gz", "has_sig": false, "md5_digest": "c54cd60e50996dab760a0c5b7ab3ab47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13550, "upload_time": "2016-06-21T12:43:59", "url": "https://files.pythonhosted.org/packages/74/be/3c65283b9353b567a82b7020af80acb57ca30f569bb25a555c7ca8200a81/findx-0.9.8.tar.gz" } ], "0.9.9": [ { "comment_text": "", "digests": { "md5": "b7aab74e5efcfd1f98415c1f012fd7e0", "sha256": "7d9f817aab18eefe63dc922c123ffc2b87cfe4e0c30b239e8c6a13efce42fe74" }, "downloads": -1, "filename": "findx-0.9.9.tar.gz", "has_sig": false, "md5_digest": "b7aab74e5efcfd1f98415c1f012fd7e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14342, "upload_time": "2016-06-25T18:09:47", "url": "https://files.pythonhosted.org/packages/9d/28/6ed54615bd8f6cf7f6abd28774ae19ae10ba2a04cd3c17ca286cd4192d41/findx-0.9.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "129301193d97f47e999bcd44f7ab9ca0", "sha256": "fd348776074ee38a1540d612019181822e76d2cfb5bc7c48b14bda8de3c9fee5" }, "downloads": -1, "filename": "findx-0.9.12.tar.gz", "has_sig": false, "md5_digest": "129301193d97f47e999bcd44f7ab9ca0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19157, "upload_time": "2018-12-29T21:39:33", "url": "https://files.pythonhosted.org/packages/b7/28/8c90f829425c9d15e1d5af006d5cd12e380a6ce727eb5169480805e79008/findx-0.9.12.tar.gz" } ] }