{ "info": { "author": "halloleo", "author_email": "moreman@halloleo.hailmail.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: Implementation :: CPython", "Topic :: System :: Shells", "Topic :: Terminals", "Topic :: Text Editors :: Emacs", "Topic :: Utilities" ], "description": "moreman: Man Pages for Commands without Man Pages\n=========\n\nThis program generates man pages for command line tools which do not come with\nproper separate man pages. For these tools `man` cannot display manual\ninformation, `moreman` however uses the command's help string (usually\ndisplayed via the command line option `--help`) and assembles from this a \"man\npage\".\n\n## Overview\n\n`moreman` is designed as a drop-in replacement for [`man`][man]. Apart from\nvery few options `moreman` passes all arguments through to the man command it\neventually calls. If `moreman` is called with a tool name for which a normal\nman page exists, it just passes the name through to `man`; if no normal man\npage exists, `moreman` assembles the man page in the described manner and then\ncalls `man` for final formatting.\n\nMy personal use is inside [Emacs][emacs]: Emacs has the great feature of [Man\nPage Lookup][emacs-man]: It displays each man page in its own buffer/frame, so\nthat you easily can view the documentation to a command while using the command\nin a shell buffer in another window or frame. - And with `moreman` this extends\nto all commands which provide some meaningful documentation via their help\nmessage even if they do not have a real man page.\n\n### A Word of Warning\n\n`moreman` works by calling the command it wants to create the man page for with\nthe help option - normally `--help`. This *can* be dangerous if the command\ndoes not expect `--help` to display the help message.\n\n\n## Installation\n\n### Requirements\n\nAt least Python 3.5 (legacy Python 2.7 might work as well) plus the [`argh`][argh]\npackage.\n\n[argh]: https://github.com/neithere/argh\n\n### Install\n\nThe tool is pip-installable: `pip install moreman` For the intended command\nline use though I recommend installation via [pipx]:\n\n pipx install moreman\n\n## Usage\n\nTest whether everything is set up correctly by invoking `moreman`'s help\nmessage:\n\n $ moreman --help\n\nThis should give you something like\n\n```\nusage: moreman [-h] [-v] [--man-cmd MAN_CMD] [-g HELP_ARG] [-f]\n name [name ...]\n\npositional arguments:\n name name of the command or man page\n\noptional arguments:\n -h, --help show this help message and exit\n -v, --verbose verbose output ('-v' shadows man's -v for version!)\n (default: False)\n --man-cmd MAN_CMD man command to be used (default: 'man')\n -g HELP_ARG, --help-arg HELP_ARG\n help argument to the command used to generate help\n document (default: '--help')\n -f, --force force to generate man page from --help even if man\n page exists ('-f' shadows man's -f for whatis lookup!)\n (default: False)\n\nAll other options are passed through to the 'man' command.\n```\n\nNow try to list the same info as a \"man page\":\n\n $ moreman moreman\n\nVoila! This should look like a proper man page - many man page viewers are able\nto recognise this format.[^1]\n\n[^1]: Under the hood `moreman` creates a nroff file which it passes to `man`.\n\n### Hooking up to Emacs\n\nIn order use `moreman` in Emacs, customise the Emacs variable `manual-program`\n(which is in the **man** customisation group). After checking that you can\naccess `moreman` from your shell prompt set `manual-program` to `moreman`and\neverything should work fine.\n\n### Help for sub commands\n\nSome tools provide extensive help and they split it over the help messages of\nmultiple sub commands. moreman can utilise these sub command help messages via\nthe `--help-arg` option.\n\n***Update September 2019***: Some pip installations do install a man page - in\nthat case this example is obsolete.\n\nFor example `pip --help` lists only some general options and pip's sub\ncommands; detailed info about, say, the `install` sub command is displayed only\nby `pip install --help`.\n\nBut issue\n\n moreman --help-arg=\"install --help\" pip \n\nand you get a \"man page\" for the `install` subcommand of `pip`.\n\nThis works in Emacs too: After `M-x man` enter at the prompt\n`--help-arg=\"install --help\" pip`.[^2]\n\n[^2]: In Emacs, in order to enter the required spaces you might need to use the\n `^Q ` key combination to circumvent Emacs' auto-complete feature at\n the prompt.\n\n\n## Miscellaneous \n\nIf you have difficulties, open an GitHub issue for your problem. If you made\nenhancements, please create a pull request.\n\nAlso note, this project uses another little module I wrote: [ArghEx: Extensions\nfor Argh][arghex]\n\n[man]: http://man7.org/linux/man-pages/man1/man.1.html\n[emacs-man]: http://www.gnu.org/software/emacs/manual/html_node/emacs/Man-Page.html#Man-Page\n[emacs]: http://www.gnu.org/software/emacs/\n[arghex]: https://github.com/halloleo/arghex\n[pipx]: https://pipxproject.github.io/pipx/\n\n\n\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/halloleo/moreman", "keywords": "system,man,help", "license": "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "maintainer": "", "maintainer_email": "", "name": "moreman", "package_url": "https://pypi.org/project/moreman/", "platform": "", "project_url": "https://pypi.org/project/moreman/", "project_urls": { "Homepage": "https://github.com/halloleo/moreman" }, "release_url": "https://pypi.org/project/moreman/0.3.2/", "requires_dist": [ "argh" ], "requires_python": ">=3.6", "summary": "Man Pages for Commands without Man Pages", "version": "0.3.2" }, "last_serial": 5999041, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "2cf6db20932f9a20a54f4b574b3da3e7", "sha256": "37bff4b1760ea7c60f29af3e2953825a83b9598112d878526e0bf815b2b2368c" }, "downloads": -1, "filename": "moreman-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2cf6db20932f9a20a54f4b574b3da3e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 19105, "upload_time": "2019-09-19T22:59:36", "url": "https://files.pythonhosted.org/packages/53/9a/a97230d24d16534365ec8a660fb019b0026fd46534a09ed3d30f101ecb1e/moreman-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b7d157950f81c078868d71fa5112f26", "sha256": "2460712d2e6b4ba6737ef7fd91da40ea23b6d35354e2cda3d34cd807f5b3acb8" }, "downloads": -1, "filename": "moreman-0.2.tar.gz", "has_sig": false, "md5_digest": "8b7d157950f81c078868d71fa5112f26", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19019, "upload_time": "2019-09-19T22:59:39", "url": "https://files.pythonhosted.org/packages/3c/d1/5f4c3082b962cc795d4f48832406eb4b0dfe76d4f2b416a672f918c4c5c2/moreman-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "f5a2130f7bd2132fe1825f183ddd1024", "sha256": "583c08177cbaaede2a5b4d48931ba4f54eb8b2539d025472135304d954b795f6" }, "downloads": -1, "filename": "moreman-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f5a2130f7bd2132fe1825f183ddd1024", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 19324, "upload_time": "2019-10-16T03:56:15", "url": "https://files.pythonhosted.org/packages/95/ef/fae526d1fadff78f71814f91ca1d92c5905122d9405b886bccfd25f94702/moreman-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6762582391b58cc92edb4eb290658bed", "sha256": "1ee52755e3b643b97ef17820ebf7c5512880cf0538af1f0a7f76f2e149599828" }, "downloads": -1, "filename": "moreman-0.3.tar.gz", "has_sig": false, "md5_digest": "6762582391b58cc92edb4eb290658bed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19247, "upload_time": "2019-10-16T03:56:18", "url": "https://files.pythonhosted.org/packages/6f/12/292ec16f8fc20c63982f2243160bfd1b7384bf5c84b665e8516066245432/moreman-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "1341fd5caa4de214fbf617c2e0d8b2e1", "sha256": "164b2fdbd472dd034d158d0ec6ccfd2723de15fad4395d5680e74cffe40e7b2a" }, "downloads": -1, "filename": "moreman-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1341fd5caa4de214fbf617c2e0d8b2e1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 19413, "upload_time": "2019-10-16T07:03:57", "url": "https://files.pythonhosted.org/packages/87/cd/a9acb2e910b29e85cb699ac638d2a9bc1cfd1d5f0085a7cdc4f874742297/moreman-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "afc23771059569d2b17a2927af55cff7", "sha256": "519d651253e8e3e29003b4789a164210017021e0ee29ff2724f2cf5f986baf84" }, "downloads": -1, "filename": "moreman-0.3.1.tar.gz", "has_sig": false, "md5_digest": "afc23771059569d2b17a2927af55cff7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19296, "upload_time": "2019-10-16T07:03:59", "url": "https://files.pythonhosted.org/packages/ba/2f/d974a571faebceda6a576b1a4d1d08adf5a2558372023194e61bf98e2bdc/moreman-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "91ec1c559c3a7e3cb0b1dd9d47b2f6b4", "sha256": "7f0c85c5377b6dc6453bf1a5237ba6bf57f9705c2eba1e5d83536b159ee6c9a3" }, "downloads": -1, "filename": "moreman-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91ec1c559c3a7e3cb0b1dd9d47b2f6b4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 19525, "upload_time": "2019-10-19T07:35:14", "url": "https://files.pythonhosted.org/packages/39/d0/8c50ebb1d69e1a7ab349d0306eafbee2cf1f570b39e3611bf022ac05c7e9/moreman-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "165b24e332fb4096c17336bc0b1a873c", "sha256": "c6e43d724c96637deccf858ef3d127ec364efee7845351e8d08b88c12844d0e8" }, "downloads": -1, "filename": "moreman-0.3.2.tar.gz", "has_sig": false, "md5_digest": "165b24e332fb4096c17336bc0b1a873c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19510, "upload_time": "2019-10-19T07:35:16", "url": "https://files.pythonhosted.org/packages/81/52/876f9070bccf7b9637d1e1b2a66c8d08e2301c258594eb25b09fdef014da/moreman-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "91ec1c559c3a7e3cb0b1dd9d47b2f6b4", "sha256": "7f0c85c5377b6dc6453bf1a5237ba6bf57f9705c2eba1e5d83536b159ee6c9a3" }, "downloads": -1, "filename": "moreman-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91ec1c559c3a7e3cb0b1dd9d47b2f6b4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 19525, "upload_time": "2019-10-19T07:35:14", "url": "https://files.pythonhosted.org/packages/39/d0/8c50ebb1d69e1a7ab349d0306eafbee2cf1f570b39e3611bf022ac05c7e9/moreman-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "165b24e332fb4096c17336bc0b1a873c", "sha256": "c6e43d724c96637deccf858ef3d127ec364efee7845351e8d08b88c12844d0e8" }, "downloads": -1, "filename": "moreman-0.3.2.tar.gz", "has_sig": false, "md5_digest": "165b24e332fb4096c17336bc0b1a873c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19510, "upload_time": "2019-10-19T07:35:16", "url": "https://files.pythonhosted.org/packages/81/52/876f9070bccf7b9637d1e1b2a66c8d08e2301c258594eb25b09fdef014da/moreman-0.3.2.tar.gz" } ] }