{ "info": { "author": "Guillermo Garcia", "author_email": "memogarcia@protonmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: System Administrators", "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", "Programming Language :: Python :: Implementation :: CPython" ], "description": "# Doc-FZF: Modular CLI Documentation Fuzzy Finder\n\nFuzzy Search documentation from the CLI and open them in the browser.\n\nSee it in action here [https://terminalizer.com/view/2c3935cf1418](https://terminalizer.com/view/2c3935cf1418)\n\n**Disclaimer** This tool was built to learn `FZF` capabilities. Feel free to use it or extend it.\n\n## Usage\n\n doc-fzf ansible\n doc-fzf ansible -q yum\n\n## Installation\n\n pip3 install doc-fzf\n\nVerify your installation:\n\n doc-fzf -h\n\n```bash\nusage: doc-fzf.py [-h] [-q QUERY] module_name\n\ndoc-fzf.\n\npositional arguments:\nmodule_name Name of the module to search\n\noptional arguments:\n-h, --help show this help message and exit\n-q QUERY Query the docs\n```\n\n## Extending Doc-FZF\n\n`doc-fzf` is a modular application. It can load modules at runtime that scrap websites in any way you like.\n\nAny module should always contain:\n\n* class name must always be `Scrapper(FZFDoc)`\n* `self.documentation_url` attribute\n* `def get_documentation(self):` function that must always return a tuple (\"url\", \"description\")\n\n```python\nfrom doc_fzf.pyfzf import FZFDoc\n\n\nclass Scrapper(FZFDoc):\n def __init__(self):\n self.base_url = \"https://docs.python.org/3\"\n self.documentation_url = \"{0}/py-modindex.html\".format(self.base_url)\n FZFDoc.__init__(self, self.documentation_url)\n\n def get_documentation(self):\n \"\"\" Return a tuple of (url, description)\n \"\"\"\n docs = get_online_documentation()\n for doc in docs:\n yield (doc.url, doc.description)\n```\n\nHere is the [ansible documentation example](https://gitlab.com/memogarcia/doc-fzf/blob/master/doc_fzf/modules/ansible.py)\n\n## Road Map\n\n* [x] Module definition\n* [x] FZFDoc base class\n* [x] File system cache layer\n* [ ] Load modules at runtime\n\n## References\n\n* [Doc-FZF: Modular CLI Documentation Fuzzy Finder](https://memogarcia.mx/posts/doc-fzf)\n* [fzf, A command-line fuzzy finder](https://github.com/junegunn/fzf)\n* [iterfzf, Pythonic interface to fzf, a CLI fuzzy finder](https://github.com/dahlia/iterfzf)", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/memogarcia/doc-fzf", "keywords": "documentation fzf fuzzy search", "license": "WTFPL", "maintainer": "", "maintainer_email": "", "name": "doc-fzf", "package_url": "https://pypi.org/project/doc-fzf/", "platform": "", "project_url": "https://pypi.org/project/doc-fzf/", "project_urls": { "Homepage": "https://gitlab.com/memogarcia/doc-fzf" }, "release_url": "https://pypi.org/project/doc-fzf/0.0.7/", "requires_dist": null, "requires_python": "", "summary": "Fuzzy Search documentation from the CLI", "version": "0.0.7" }, "last_serial": 5581415, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "aaa7ca5ed1dd53f78fe9a2eebfe2d2ca", "sha256": "a08cc78b4b5001c04dba407be29235ffef5299c8df8b6a17846da026af536d59" }, "downloads": -1, "filename": "doc-fzf-0.0.1.tar.gz", "has_sig": false, "md5_digest": "aaa7ca5ed1dd53f78fe9a2eebfe2d2ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4205, "upload_time": "2019-07-14T13:01:38", "url": "https://files.pythonhosted.org/packages/0e/82/eef4d72bc256911c3167b287923d6a2468181a5a434ffdece7e1707087a1/doc-fzf-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "45f958883a3d166cf1f01f890b9c9732", "sha256": "27acfc49633b81102cb89118d4fbd65a9438e58cd112df3976708603a88ae1e3" }, "downloads": -1, "filename": "doc-fzf-0.0.2.tar.gz", "has_sig": false, "md5_digest": "45f958883a3d166cf1f01f890b9c9732", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4209, "upload_time": "2019-07-14T14:20:46", "url": "https://files.pythonhosted.org/packages/e2/73/f2b2ae5fd70f393a9fd8bcce11129d2c7348f0aa20b207135b6b0850a899/doc-fzf-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "acf9e5f3de8c15999e9e0f1e2e2dd4d2", "sha256": "6d13ef7ab97be175c81e187bdeae2ae1bb365b44f0afc691d4f2e84f5de6ccb5" }, "downloads": -1, "filename": "doc-fzf-0.0.3.tar.gz", "has_sig": false, "md5_digest": "acf9e5f3de8c15999e9e0f1e2e2dd4d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4213, "upload_time": "2019-07-14T15:12:20", "url": "https://files.pythonhosted.org/packages/0c/94/95183ebd409fbcb554748fff649df150d0d23009e53a17d8c6377d980df7/doc-fzf-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "056b2bbde0ac1f55b26b8556dea1487b", "sha256": "908b7bc35fb7b35929e5ddb6581455f2abeec66b03bdf05cd012da2059cc1d4d" }, "downloads": -1, "filename": "doc-fzf-0.0.4.tar.gz", "has_sig": false, "md5_digest": "056b2bbde0ac1f55b26b8556dea1487b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4336, "upload_time": "2019-07-14T15:44:56", "url": "https://files.pythonhosted.org/packages/c3/c7/1e3bb61cd15e69feb84ccdd917584d06ae210807cbbdcdcf67fa31b11c88/doc-fzf-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "7b38c18450e74e883d42d83b6264a2f0", "sha256": "4b459f4996385d8577a4af628876dd73034378256d8bf696f3d0fa248fb914b9" }, "downloads": -1, "filename": "doc-fzf-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7b38c18450e74e883d42d83b6264a2f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4899, "upload_time": "2019-07-14T15:49:22", "url": "https://files.pythonhosted.org/packages/84/0c/69d8c2c75fcdc67f27941885b400f11387838d9eadb0ef98eca0f9f14948/doc-fzf-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "c5907d3f29b9e7e26824d614d930e019", "sha256": "fb32817da4ce6a91eafd1966528cfbcf87a33a045e5c1a140d358849aad66528" }, "downloads": -1, "filename": "doc-fzf-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c5907d3f29b9e7e26824d614d930e019", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5034, "upload_time": "2019-07-14T19:30:49", "url": "https://files.pythonhosted.org/packages/45/34/6c62570e808aa155c9fe52e67ce5e3f23a607449410b83e26fc2697c87b2/doc-fzf-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "f55f1a7a9ab880154afa5dec04895165", "sha256": "43508d044f9981ffa49285f76eae6563215d026dfac3afd7b3d1c812c2bd41f0" }, "downloads": -1, "filename": "doc-fzf-0.0.7.tar.gz", "has_sig": false, "md5_digest": "f55f1a7a9ab880154afa5dec04895165", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5251, "upload_time": "2019-07-25T05:32:05", "url": "https://files.pythonhosted.org/packages/d0/b9/97d2a4401496594ef7c84329df7876afae3ba1de7b126b15f5ed2a4f1979/doc-fzf-0.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f55f1a7a9ab880154afa5dec04895165", "sha256": "43508d044f9981ffa49285f76eae6563215d026dfac3afd7b3d1c812c2bd41f0" }, "downloads": -1, "filename": "doc-fzf-0.0.7.tar.gz", "has_sig": false, "md5_digest": "f55f1a7a9ab880154afa5dec04895165", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5251, "upload_time": "2019-07-25T05:32:05", "url": "https://files.pythonhosted.org/packages/d0/b9/97d2a4401496594ef7c84329df7876afae3ba1de7b126b15f5ed2a4f1979/doc-fzf-0.0.7.tar.gz" } ] }