{ "info": { "author": "Larry Barnett", "author_email": "JLawrenceB1@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n# string-path-search\n Walk a directory tree, searching for files containing any of a set of text strings.\n\n**Note:** The different naming conventions for projects on GitHub vs packages in Python results \nin some unnecessary confusion: \"string-path-search\" (with hyphens) is the name of the project on\n GitHub. This project provides the \"string_path_search\" (with underscores) Python package. \n Please bear with me.\n\n## Why not just use ***find*** and ***grep***?\n* Avoids long, hard-to-debug shell commands with lots of backticks and parentheses.\n* Works on Windows without needing to install a unix work-alike like Cygwin.\n* Searches for a bunch of different strings in one go.\n* Searches within (possibly compressed) jar, tar, or zip archives.\n* Outputs results in CSV or Excel format. \n\n## System requirements\n* Tested on Windows 10, Linux, and Windows 10/cygwin. May also work on other platforms\n supported by Python.\n* Python 3.4 or later (https://www.python.org/downloads/).\n* A Python pip module appropriate to the installed Python version\n (https://pip.pypa.io/en/stable/installing/). It is *possible* to install Python packages, \n including string_path_search, without pip, but it's a lot harder without it.\n\n## A note about installing python and pip\nSome Linux systems (also Cygwin on Windows) come with python 2\npre-installed. You have to install python 3 yourself. There are gotchas\ninvolved:\n1. The \"python\" and \"pip\" packages may be reserved for version 2. It may not be as easy as \n \"apt-get install python3\" either. The latest package might be called \"python3.7\" or similar.\n Ditto with pip.\n2. Once installed, the python 3 binary may be called \"python3\", not\n \"python\". Ditto with pip.\n\n## Installation from pypi:\n
\n> python -m pip install --user string-path-search \n\n\n## Installation from GitHub\nYou can also download string-path-search with your browser as a .zip or .tgz archive from \nhttps://github.com/j-lawrence-b1/string-path-search/releases/latest \n into any convenient directory. Once unpacked, you can install string_path_search and its \n dependencies using the included setup.py script (which uses pip internally!).\n
\n> chdir <my-downloads-dir>\\\\string-path-search-0.3.2\n> python setup.py build install --user \n\n**Note:** Installing with the '--user' option will install the string_path_search Python package\nunder your login's HOME directory (C:/Users/
\n $ python -m string_path_search [OPTIONS] <scan-root> [<search-term> [...]]\n\nor, you can add run the standalone string_path_search.exe directly (see **Note,** above).\n
\n $ ~/.local/bin/string_path_search [OPTIONS] <scan-root> [<search-term> [...]]\n\nwhere:\n
\n -a, --scan-archives = Unpack and scan within archives\n (Default: Skip arhive files. Only jar, tar, and zip archives will be\n unpacked. Tar bzip2, gzip, and xz compression is supported.\n -B, --branding-text=<branding-text> = A string of text containing\n company or other information to add above the column headers in\n scan reports (Default: no text).\n -b, --branding-logo=<branding-logo> = (MS Excel only) An image\n file containing a corporate logo or other graphic to add above the\n column headers in scan reports (Default: no logo).\n -h, --help = Print usage information and exit.\n -e, --excel-output = Generate Microsoft Excel 2007 (.xlsx) output\n (Default: Generate comma-separated-value (CSV) text output)\n -i --ingore-case = Ignore UPPER/lowercase differences when matching strings\n (Default: case differences are significant).\n -o, --output-dir=<output-dir> = Location for output (Default:\n <current working directory>).\n -s, --search-strings-file=<search-strings> = A file containing strings to\n search for, one per line (Default: Get search strings from the command line).\n -q, --quiet = Decrease logging verbosity (may repeat). -qqqq will suppress all logging.\n -t, --temp-dir=<temp-dir> = Location for unpacking archives\n (Default: <output_dir>/temp).\n -v, --verbose = Increase logging verbosity.\n -x, --exclusions-file=<exclusion-file> = A file containing (base) filenames to\n exclude from the search results, one per line (Default: Include all results).\n<scan-root> = Directory to scan.\n<search-term> ... = One or more terms to search for in <scan-root>.\n\n## Examples\n\nPerform a caseless search of the test/data directory for any occurrence of\n'copyright', 'gpl', 'foo', 'bar', or 'baz' and output the results to a\nfile called 'scan-<timestamp>.csv' in the current working directory.\n
$ python -m string_path_search -i tests/data \"copyright (c)\" gpl foo bar baz\n\nSame as example 1, except output to an Excel spreadsheet:\n
$ python -m string_path_search -i -e tests/data \"copyright (c)\" gpl foo bar baz\n\n**Gotcha:** Use double-quotes for multi-word search strings. For some reason,\nsingle quotes screw up the command line parser.\n## License\nstring_path_search is distributed under the\n[MIT License](http://github.com/j-lawrence-b1/string-path-search/blob/master/LICENSE).\n\n## Disclaimer regarding the test data:\n\nThe files in the test/data folder were randomly downloaded from publicly \navailable Open Source projects. Distributing these materials with string_path_search as \ntest data may or may not be in violation of the applicable licenses.\n\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/j-lawrence-b1/string_path_search", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "string-path-search", "package_url": "https://pypi.org/project/string-path-search/", "platform": "", "project_url": "https://pypi.org/project/string-path-search/", "project_urls": { "Homepage": "https://github.com/j-lawrence-b1/string_path_search" }, "release_url": "https://pypi.org/project/string-path-search/0.3.3/", "requires_dist": [ "Pillow", "xlrd", "xlsxwriter" ], "requires_python": ">=3.4.0", "summary": "Search a directory path for any of a list of strings.", "version": "0.3.3" }, "last_serial": 5674212, "releases": { "0.3.1": [ { "comment_text": "", "digests": { "md5": "2a9adbaf25289b62e898a7c258c04185", "sha256": "487f38ac4880a2e0bf63e24ed1dd894a23f085c6548aca1a4b0f099e608a272c" }, "downloads": -1, "filename": "string_path_search-0.3.1-py3.7.egg", "has_sig": false, "md5_digest": "2a9adbaf25289b62e898a7c258c04185", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.4.0", "size": 22954, "upload_time": "2019-08-01T20:32:54", "url": "https://files.pythonhosted.org/packages/30/c4/1a5cd7d58c2d0003be93bc2d66ae7f23c8020f38cdbea6fadd95c10004ec/string_path_search-0.3.1-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "3b40c84e58161735523e8744e7937a6c", "sha256": "b42374e003f1051cdbefd7fdeaf3a137738a6389aa55b0d90269707ff5614bb1" }, "downloads": -1, "filename": "string_path_search-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3b40c84e58161735523e8744e7937a6c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.0", "size": 14151, "upload_time": "2019-08-01T20:32:52", "url": "https://files.pythonhosted.org/packages/df/ac/f6cd320dd8242825e98086c9fff996df50a70809ad22ed8f44adcec9bf7c/string_path_search-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b47e35edaf964856215201ce3691058", "sha256": "97e9098c1e03ade680079e59a5c2021e21168bd398a0a52d651e0359b380192f" }, "downloads": -1, "filename": "string_path_search-0.3.1.tar.gz", "has_sig": false, "md5_digest": "3b47e35edaf964856215201ce3691058", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 12559, "upload_time": "2019-08-01T20:32:56", "url": "https://files.pythonhosted.org/packages/db/28/53d27d2861e1bfc838554aa6d3137fedddc0ed8c95b8b1de09deb8f7e562/string_path_search-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "4158d54eaab5bebcc2bacf15782e28d3", "sha256": "68cbe1653b9a5d59dd13a4911641ef6553650038bf560fd18230d196992744a1" }, "downloads": -1, "filename": "string_path_search-0.3.2-py3.7.egg", "has_sig": false, "md5_digest": "4158d54eaab5bebcc2bacf15782e28d3", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.4.0", "size": 23522, "upload_time": "2019-08-14T00:32:53", "url": "https://files.pythonhosted.org/packages/f1/f6/7aa697247b0d5fdbfdf8006e548ed84244fa65fbdca1e769326456cb85ab/string_path_search-0.3.2-py3.7.egg" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "8eb0cbb8790a6a4900aa20fd625f9afb", "sha256": "fd1da3740b274b835aaa17420c012eedacf796a4b84fbc2b2463da84a8815d61" }, "downloads": -1, "filename": "string_path_search-0.3.3-py3.7.egg", "has_sig": false, "md5_digest": "8eb0cbb8790a6a4900aa20fd625f9afb", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.4.0", "size": 23521, "upload_time": "2019-08-14T00:32:54", "url": "https://files.pythonhosted.org/packages/43/aa/68097202586bb2db89d3187f08f64d16462d1f95d835775ed51904f8c088/string_path_search-0.3.3-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "3b6dd42ca6a9799ade5a6d6cf625e7aa", "sha256": "fb14be76bbce94cbcc3267a18222a219c49dafaef9bf2448876927e1e6fc2cdc" }, "downloads": -1, "filename": "string_path_search-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3b6dd42ca6a9799ade5a6d6cf625e7aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.0", "size": 14670, "upload_time": "2019-08-14T00:32:51", "url": "https://files.pythonhosted.org/packages/15/b6/5066696818b1c97c70e34a7146c51aabdb862f544d1fdb094f1f10d49a13/string_path_search-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "254c44069a4704c9cb7a65c88e9dabdd", "sha256": "83e0103c52c48db64b13bef107cfa5fa53697f5ac46508f4940710959ea9ae65" }, "downloads": -1, "filename": "string_path_search-0.3.3.tar.gz", "has_sig": false, "md5_digest": "254c44069a4704c9cb7a65c88e9dabdd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 13970, "upload_time": "2019-08-14T00:32:56", "url": "https://files.pythonhosted.org/packages/63/96/6a857e527dba0cafc9ca749b288b49539a74f88c4352873715537f0e869e/string_path_search-0.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8eb0cbb8790a6a4900aa20fd625f9afb", "sha256": "fd1da3740b274b835aaa17420c012eedacf796a4b84fbc2b2463da84a8815d61" }, "downloads": -1, "filename": "string_path_search-0.3.3-py3.7.egg", "has_sig": false, "md5_digest": "8eb0cbb8790a6a4900aa20fd625f9afb", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.4.0", "size": 23521, "upload_time": "2019-08-14T00:32:54", "url": "https://files.pythonhosted.org/packages/43/aa/68097202586bb2db89d3187f08f64d16462d1f95d835775ed51904f8c088/string_path_search-0.3.3-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "3b6dd42ca6a9799ade5a6d6cf625e7aa", "sha256": "fb14be76bbce94cbcc3267a18222a219c49dafaef9bf2448876927e1e6fc2cdc" }, "downloads": -1, "filename": "string_path_search-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3b6dd42ca6a9799ade5a6d6cf625e7aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.0", "size": 14670, "upload_time": "2019-08-14T00:32:51", "url": "https://files.pythonhosted.org/packages/15/b6/5066696818b1c97c70e34a7146c51aabdb862f544d1fdb094f1f10d49a13/string_path_search-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "254c44069a4704c9cb7a65c88e9dabdd", "sha256": "83e0103c52c48db64b13bef107cfa5fa53697f5ac46508f4940710959ea9ae65" }, "downloads": -1, "filename": "string_path_search-0.3.3.tar.gz", "has_sig": false, "md5_digest": "254c44069a4704c9cb7a65c88e9dabdd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 13970, "upload_time": "2019-08-14T00:32:56", "url": "https://files.pythonhosted.org/packages/63/96/6a857e527dba0cafc9ca749b288b49539a74f88c4352873715537f0e869e/string_path_search-0.3.3.tar.gz" } ] }