{ "info": { "author": "Lauri Hakko", "author_email": "lauri.hakko@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development", "Topic :: Software Development :: Bug Tracking", "Topic :: Utilities" ], "description": "Issue\n=====\n\nSmall command line issue tracker mostly for those one person projects\nwhere you don't want to depend on something like github to track your\nissues but want to keep issue tracking in your repository.\n\nIssue.py requires python3 but doesn't depend on any external libraries.\n\n\nCommand-line\n------------\n\nInstall\n~~~~~~~\n\n::\n\n # easy_install issue\n\nor\n\n::\n\n # pip install issue\n\nor if you want to install it just for yourself without root access, you can add \n``--user`` to either of those commands, e.g.\n\n::\n\n $ pip install --user issue\n\nand it will install issue.py in ~/.local/bin/ which you can just add to your\n$PATH.\n\nGetting started\n~~~~~~~~~~~~~~~\n\n::\n\n $ issue.py init\n $ issue.py add -d \"my new issue\"\n $ issue.py add -t enhancement -d \"my enhancement proposal\"\n $ issue.py\n open 1 bug 2013-12-27 my new issue\n open 2 enhancement 2013-12-27 my enhancement proposal\n $ issue.py close 1\n closed 1 bug 2013-12-27 my new issue\n\nUsage\n~~~~~\n\n::\n\n usage: issue.py [-h] [subcommand] ...\n\n Simple issue handler\n\n optional arguments:\n -h, --help show this help message and exit\n\n subcommands:\n {add,edit,close,search,se,show,init,remove,rm}\n add Add new issue\n edit Edit individual issue\n close Close an issue\n search (se) Search issues\n show Show more information on individual issue\n init Initialize issue file\n remove (rm) Remove an issue\n\nMaking the issues file\n~~~~~~~~~~~~~~~~~~~~~~\n\nTo make a new ``ISSUES`` file, you can use\n\n::\n\n $ issue.py init [-g] [-f]\n\nwhich basically just make a file with ``[]`` in it. If you specify\n``-g`` to make gzip compressed issues file. Compressed files won't work\nso well with version control system, but you can do that anyway if you\nlike. If you already have an issues file you want to compress, you can\nsimply compress your ``ISSUES`` file with\n\n::\n\n $ gzip ISSUES\n\nand it'll make ``ISSUES.gz`` which works transparently with issue.py.\nSimilarly, if you want to move back to uncompressed file, you can\nuncompress it with\n\n::\n\n $ gzip -d ISSUES.gz\n\nIf you already have an ``ISSUES`` file, issues.py won't overwrite it but\nyou can force it to create the file anyway with ``-f``. This won't\nactually remove the old file, but simple moves it out of the way.\n\nAdding issues\n~~~~~~~~~~~~~\n\nBasic way to add issues is to do\n\n::\n\n $ issue.py add -d \"My issue description\"\n\nyou can add ``-t`` to specify tags in comma-separated list. If you\nspecify none, ``-t bug`` is assumed.\n\nYou can also leave ``-d`` out and issue.py will open the default editor\nfor you specified in ``$EDITOR`` environment variable. In the editor you\ncan write multiline issue description where first line will be used as\nthe title and will be shown in default issue list. You can view the\nwhole description with ``issue.py show ``\n\nExamples\n^^^^^^^^\n\nto add issue with ``feature`` tag, you can do\n\n::\n\n $ issue.py add -t feature -d \"Add support for .gz files\"\n\nYou can also specify multiple tabs with commas, without spaces\n\n::\n\n $ issue.py add -t bug,critical -d \"Game crashes on save\"\n\nClosing issues\n~~~~~~~~~~~~~~\n\nClosing issues works simply\n\n::\n\n $ issue.py close \n\nwhere ```` is the issue number you want to close. This will\nsimply change issue status to 'closed'. Closing issue will print the\nclosed issue and the issue won't show up in issue list anymore by\ndefault. You can still find it with ``issue.py search``\n\nExample\n^^^^^^^\n\n::\n\n $ issue.py close 4\n closed 4 Feature 2013-12-27 Laser effects would be cool\n\nEditing issue\n~~~~~~~~~~~~~\n\nYou can edit any issue using\n\n::\n\n $ issue.py edit [-t tag] [-s status] [-d description|-e]\n\nwhich lets you edit issue's tags, status and description as you like.\n``-e`` cannot be used with ``-d description``. Using ``-d`` you can\nspecify the new description for the issue on the commandline, but if you\nwant to edit the description more easily or if the issue description is\nmultiline, you can use ``-e`` to open the description in the editor for\nediting.\n\n``-t`` allows you to add and remove tags by specifying ``+`` or ``-`` in\nfront of the tags list or you can use ``=`` to replace the tags all\ntogether. You cannot add and remove tags at the same time.\n\nExamples\n^^^^^^^^\n\nTo add feature tag to issue number 6:\n\n::\n\n $ issue.py edit 6 -t+feature\n\nRemoving tags works similarly. To remove ``critical`` tag from issue 46\n\n::\n\n $ issue.py edit 46 -t-critical\n\nYou can also specify multiple tags on the commandline\n\n::\n\n $ issue.py edit 7 -t+bug,low\n\nto change issue status to ``wontfix`` you can do\n\n::\n\n $ issue.py edit 9 -s wontfix\n\nto change issue status to ``closed`` and add ``critical`` tag:\n\n::\n\n $ issue.py edit 3 -s closed -t+critical\n\nSearching for issues\n~~~~~~~~~~~~~~~~~~~~\n\nSearching for issues works much like issue editing. You can specify any\nof ``-t``, ``-s`` and ``-d`` to filter the issuelist by tags, status or\ndescription respectively. Search will be done on open issues by default,\nbut you can search all issues by specifying ``-s all``. You can specify\nmultiple tags at the same time by separating them with comma\n\nExamples\n^^^^^^^^\n\nto search for all issues with ``bug`` tag:\n\n::\n\n $ issue.py search -s all -t bug\n\nto search for closed issues with ``feature`` tag:\n\n::\n\n $ issue.py search -s closed -t feature\n\nto search open issues for ``crash`` keyword, you can simply do\n\n::\n\n $ issue.py search -d crash \n\nif you remember an old closed bug with ``critical`` and ``bug`` tags\nthat contained word \"impossible, you can do\n\n::\n\n $ issue.py search -s closed -t critical,bug -d impossible\n\nShow\n~~~~\n\nTo view multiline issue or issue description that doesn't fit one\nterminal width, you can use\n\n::\n\n $ issue.py show \n\nExample\n^^^^^^^\n\n::\n\n $ issue.py show 7\n Status: open\n Number: 7\n Tag: bug\n Date: 2013-12-28\n\n Program crashes when you specify both -e and -d\n I found a way to make the program crash by doing\n\n $ issue.py edit 6 -d \"will crash\" -e\n\n I get \"Generic error\"\n\nRemoving issues\n~~~~~~~~~~~~~~~\n\nTo remove issues, you can simply do\n\n::\n\n $ issue.py remove \n\nUsing ``remove`` is discouraged since remove action cannot be undone,\nbut you can either close it or mark it ``wontfix`` instead.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/boarpig/issue", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "issue", "package_url": "https://pypi.org/project/issue/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/issue/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/boarpig/issue" }, "release_url": "https://pypi.org/project/issue/0.1.5/", "requires_dist": null, "requires_python": null, "summary": "Simple issue tracker to use with VCS", "version": "0.1.5" }, "last_serial": 962958, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "276d082b99c9064a86d0447e7b2076a7", "sha256": "f409b4b802a0547ff60c255e1968f194e73fe9adb9d07a9e05cd1d6ee38cd204" }, "downloads": -1, "filename": "issue-0.1.tar.gz", "has_sig": false, "md5_digest": "276d082b99c9064a86d0447e7b2076a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19922, "upload_time": "2014-01-01T00:43:16", "url": "https://files.pythonhosted.org/packages/93/c1/0dd87ed45c797989adbc09df70d1861a38fa73b819e6836b899f34d952c0/issue-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "880bce9bb16eb7ec649e622e8202ce61", "sha256": "5498bb0df71247e04613caffb995c2e9a7d5fe7343914e50df34cf881cf5da2d" }, "downloads": -1, "filename": "issue-0.1.1.tar.gz", "has_sig": false, "md5_digest": "880bce9bb16eb7ec649e622e8202ce61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19970, "upload_time": "2014-01-01T00:52:35", "url": "https://files.pythonhosted.org/packages/81/5d/1f60c2cacc8ed10b081aa383b2a2bc60fdbe3fa6a69fefbcf6dfc030bf30/issue-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "55ba1a226a62d5368bbaaa61945bad2c", "sha256": "48e5a5cbb0fa33f899bc6587786e6f78c7cbc28977368fc8b365fbd3ff163554" }, "downloads": -1, "filename": "issue-0.1.2.tar.gz", "has_sig": false, "md5_digest": "55ba1a226a62d5368bbaaa61945bad2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19979, "upload_time": "2014-01-01T01:14:35", "url": "https://files.pythonhosted.org/packages/45/83/bf86f1976e4b5aafe94ce24d010dad311cc20e99d288e163a5b6f50fcfe7/issue-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9dbc536eb8dc5a3b31dfe746b4432096", "sha256": "ffbc9329b2bab1d3fa5a557631235161262c884cc037af86ca47173e0c823327" }, "downloads": -1, "filename": "issue-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9dbc536eb8dc5a3b31dfe746b4432096", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21955, "upload_time": "2014-01-06T09:11:40", "url": "https://files.pythonhosted.org/packages/f3/22/672f5030a95efa2090c61fcddb270d543deec797267798ad2f8a1e22e590/issue-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "1baed521038020fdc577b845f2b52fc9", "sha256": "02a89c17e0b4738e084e789924915e10ff3344352a6544dde5aece37c33167b4" }, "downloads": -1, "filename": "issue-0.1.4.tar.gz", "has_sig": false, "md5_digest": "1baed521038020fdc577b845f2b52fc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21932, "upload_time": "2014-01-06T22:04:16", "url": "https://files.pythonhosted.org/packages/93/99/55bfea5486cb1b416660007c749ca169bd73fed9bebde48b7510eed1e1a4/issue-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "bbb051c51e6d464d4a831d91e8e67799", "sha256": "58cc01c0130a19c2064d39b0d33b981dd24e81aa9a39af1b9f74d21477d982be" }, "downloads": -1, "filename": "issue-0.1.5.tar.gz", "has_sig": false, "md5_digest": "bbb051c51e6d464d4a831d91e8e67799", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21962, "upload_time": "2014-01-07T20:51:10", "url": "https://files.pythonhosted.org/packages/ba/2f/bd242509e83c2aa0b9923303e0263593dc875e8a76e041b336488d21cd75/issue-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bbb051c51e6d464d4a831d91e8e67799", "sha256": "58cc01c0130a19c2064d39b0d33b981dd24e81aa9a39af1b9f74d21477d982be" }, "downloads": -1, "filename": "issue-0.1.5.tar.gz", "has_sig": false, "md5_digest": "bbb051c51e6d464d4a831d91e8e67799", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21962, "upload_time": "2014-01-07T20:51:10", "url": "https://files.pythonhosted.org/packages/ba/2f/bd242509e83c2aa0b9923303e0263593dc875e8a76e041b336488d21cd75/issue-0.1.5.tar.gz" } ] }