{ "info": { "author": "Polyconseil", "author_email": "opensource+pyhound@polyconseil.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development" ], "description": "**pyhound** is a command line client for the `Hound`_ source code\nsearch engine. It connects to a Hound server. Here is an absolutely\nnot fabricated example::\n\n $ pyhound frobulate\n devguide:tools/frob.rst:433:if you really have to frobulate things, be sure to\n footils:tests/test_frob.py:378: eventlog_api.log_business(obj, 'frobulated', obj)\n frobulator:src/frobulator/handler.py:47: error=\"Could not frobulate event.\",\n\n.. _Hound: https://github.com/hound-search/Hound\n\n\nRequirements\n============\n\n**pyhound** needs Python 3. It supports versions >= 3.5.\n\n\nInstallation\n============\n\n**pyhound** needs a Hound server. See Hound documentation for further\ndetails. The steps below assume that you have a Hound server listening\n(for example on ``http://localhost:6080``).\n\nTo install **pyhound**, use ``pip``::\n\n pip install pyhound\n\n\nFeatures\n========\n\n**pyhound** aims to output search results in the manner of ``grep``\nand hence implements some (but definitely not all) of its options.\n\nThe main feature of **pyhound** is its ``--help`` argument::\n\n usage: pyhound [-h] [--version] [--endpoint URL] [--repos REPOSITORY_LIST]\n [--exclude-repos REPOSITORY_LIST] [--path FILE_PATH_PATTERN]\n [-A NUM] [-B NUM] [-C NUM] [--color [WHEN]] [-i] [-n]\n [--line-max-length LINE_MAX_LENGTH]\n PATTERN\n \n A command-line client for Hound.\n \n positional arguments:\n PATTERN The regular expression to search.\n \n optional arguments:\n -h, --help show this help message and exit\n --version show program's version number and exit\n --endpoint URL Host and port of the Hound server. You may also set a\n HOUND_ENDPOINT environment variable. Default:\n http://localhost:6080/\n --repos REPOSITORY_LIST\n A comma-separated list of repositories to search in.\n Default: all.\n --exclude-repos REPOSITORY_LIST\n A comma-separated list of repositories to exclude.\n --path FILE_PATH_PATTERN\n A pattern to match against the path of candidate\n files.\n -A NUM, --after-context NUM\n Print NUM lines of trailing context after matching\n lines. Cannot be used with -C.\n -B NUM, --before-context NUM\n Print NUM lines of leading context before matching\n lines. Cannot be used with -C.\n -C NUM, --context NUM\n Print NUM lines of output context. Cannot be used with\n -A or -B.\n --color [WHEN], --colour [WHEN]\n Surround the matched (non-empty) strings, file names,\n line numbers and separators (for fields and groups of\n context lines) with escape sequences to display them\n in color on the terminal. WHEN may be \"never\",\n \"always\" or \"auto\".\n -i, --ignore-case Ignore case distinctions in both the PATTERN and the\n input files.\n -n, --line-number Prefix each line of output with the 1-based line\n number within its input file.\n --line-max-length LINE_MAX_LENGTH\n If given, don't show matching lines if they are longer\n than requested.\n\n\nLimitations\n===========\n\n**pyhound** currently tries to retrieve all search results in a single\nrequest to the Hound server. The server may return an error if there\nare too many results (currently: more than 5000) and **pyhound** will\nkindly display this error. The Hound web user interface has the same\nlimitation and fails in a similar way (although it at least shows the\nfirst 20 results).\n\nA future version of **pyhound** may handle this case and make multiple\nrequests to the Hound server. On the other hand, the usefulness of\ndisplaying more than 5000 search results seems questionable.\n\n\nAlternatives\n============\n\nApart from the web user interface, Hound comes with a command-line\nclient. But it does not provide a ``grep``-like output. There is a\ncomment in the source code that suggests that it may appear someday,\nbut the comment has been there for 4 years (as of July 2019), so it's\nunlikely to happen anytime soon.\n\nDoug Hellmann has released Beagle (also in Python) in February 2018.\nIt seems to concentrate on supporting multiple (many!) output formats,\nincluding a ``grep``-like one. I did not test it.\n\n\nThe name\n========\n\nI must apologize. It's the first time I write a Python package that\nstarts with \"py\". I thought I could resist a few more years. How naive\nof me...\n\n\nCredits, contributions and license\n==================================\n\nWell, first things first: thanks to the developers of Hound. :)\n\n**pyhound** is maintained by developpers at `Polyconseil`_. It is\nhosted on GitHub at https://github.com/polyconseil/pyhound/.\nSuggestions and patches are welcome.\n\nContinuous tests are run on `Travis CI `_.\nCurrent status: |travis-ci-status|_\n\n.. |travis-ci-status| image:: https://travis-ci.org/Polyconseil/pyhound.svg?branch=master\n\n.. _travis-ci-status: https://travis-ci.org/Polyconseil/pyhound\n\n**pyhound** is licensed under the 3-clause BSD license, a copy of\nwhich is included in the source.\n\n.. _Polyconseil: http://www.polyconseil.fr", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Polyconseil/pyhound", "keywords": "hound client source code search", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyhound", "package_url": "https://pypi.org/project/pyhound/", "platform": "", "project_url": "https://pypi.org/project/pyhound/", "project_urls": { "Homepage": "https://github.com/Polyconseil/pyhound" }, "release_url": "https://pypi.org/project/pyhound/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "A command-line client for the Hound source code search engine.", "version": "1.0.0" }, "last_serial": 5873577, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ca0f7ee984c1f43f0677d7a8c9590eb8", "sha256": "9fc1ed3fac1dbe000e51de5a85993b7c7dc1f2de2185faa7b324bc8754766399" }, "downloads": -1, "filename": "pyhound-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ca0f7ee984c1f43f0677d7a8c9590eb8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12475, "upload_time": "2015-02-06T12:19:32", "url": "https://files.pythonhosted.org/packages/32/84/4f0967fe97bcd3a76d5d9bd344d25579637a72dc6b6207d9bd52e20ae4fa/pyhound-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0382719c7ac32e828cda2795252d43ed", "sha256": "c7188cc6789370ef5fa2126a9232689e237b7c150977baadca171e2fb4f34f87" }, "downloads": -1, "filename": "pyhound-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0382719c7ac32e828cda2795252d43ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10010, "upload_time": "2015-02-06T12:19:27", "url": "https://files.pythonhosted.org/packages/e3/4a/5346a82375493a30bbae2d8e458df3b068f8f875d47b30e6b8f0c9c52aaa/pyhound-0.1.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "3f3d807ccda9379f8db921e3583a9667", "sha256": "5018887c27d97d90842673c193fab6e49eafed0a6664240817a23e0c44ea1f5e" }, "downloads": -1, "filename": "pyhound-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3f3d807ccda9379f8db921e3583a9667", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9652, "upload_time": "2019-09-23T13:15:08", "url": "https://files.pythonhosted.org/packages/8e/06/86d486324b50377940f67e8a7a800a7bb1a76272bb1a1c40a94c48bce8c2/pyhound-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f3d807ccda9379f8db921e3583a9667", "sha256": "5018887c27d97d90842673c193fab6e49eafed0a6664240817a23e0c44ea1f5e" }, "downloads": -1, "filename": "pyhound-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3f3d807ccda9379f8db921e3583a9667", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9652, "upload_time": "2019-09-23T13:15:08", "url": "https://files.pythonhosted.org/packages/8e/06/86d486324b50377940f67e8a7a800a7bb1a76272bb1a1c40a94c48bce8c2/pyhound-1.0.0.tar.gz" } ] }