{ "info": { "author": "Derin Yarsuvat", "author_email": "derin@ml1.net", "bugtrack_url": null, "classifiers": [], "description": "# Jira Issue Selector\n*A little utility for automatically selecting and prepending JIRA Cloud Issue keys to git commit messages.*\n\n## Install: \n\nJust run: `pip3 install JiraIssueSelector` (or download and use one of the releases from [the GitHub repo](https://github.com/Berulacks/git-jira-issue-selector))\n\n*NB: This program requires Python 3.0 or later, compiled with Curses support.*\n\n## Configuration:\n\nThe Issue Selector needs to be configured globally, once; and then again one\ntime for every project.\n\n* To configure it globally type: `git jira config global`\n\n* To configure it locally type (while in a git repository): `git jira config local`\n\n\nIf these files are not found by default, the program will automatically\ngenerate them and prompt you to edit them. This only happens on first-run. **The _Global_ configuration is applied every time the program is run, whereas the _Local_ configuration is specific to the git repo and branch you're currently in.**\n\nThe program stores all configuration and cache files in `$HOME/.config/jira_issue_selector`. Cache files are updated every time the user invokes the script with the `-u` flag, updates a configuration file, or the time specified in the `Refresh Interval` field from a configuration file has passed since the program was last run.\n\nWhen creating new branches in a project you might not want to fill in the local config every time; in this case use the `git jira config copy` command to enter an interactive selection UI to copy/use an older config from another branch (or even project)\n\n_NB:_ Configuration files are loaded in the following order: `Global -> Local -> Additional config specified by the user`\n\n## Usage: \n\n### Git Wrapper\n\n```\nusage: git jira [config global|local|copy] [help] [commit]\n\noptional arguments:\n [commit] Run the issue-selector, then pass the selected issue to 'git commit'\n [config] same as the -e flag below. Note: Pass 'copy' to initiate the interactive config copying dialogue\n [help] same as the -h flag below\n```\n\n### Original Python Function\n\n```\nusage: __main__.py [-h] [-n num_results_to_show] [-c path_to_config_file]\n [-cc] [-u] [-e [global|local]] [-d] [-nc]\n [-m COMMIT_MESSAGE] [-i issue_file_to_write_to]\n\nA JIRA issue selector for git messages\n\noptional arguments:\n -h, --help show this help message and exit\n -n num_results_to_show, --num-results num_results_to_show\n The number of results to show on screen (default:\n None)\n -c path_to_config_file, --extra-config-path path_to_config_file\n An extra config file to load. (default: None)\n -cc, --copy-config Allows you to interactively select a pre-existing\n config for the current local config. E.g. use this if\n you want to copy the same config from another branch.\n This overwrites the current config (default: False)\n -u, --update-cache Update the issue cache. This happens automatically\n according to the config (usually), but can be manually\n controlled from here. (default: False)\n -e [global|local], --edit-conf [global|local]\n Edit a configuration file. Valid options are global or\n local. The $EDITOR shell variable must be set for this\n (default: )\n -d, --dry-run Does not save anything to the disk (cache or\n otherwise) (default: False)\n -nc, --no-cache Disables reading and writing to the cache (default:\n False)\n -m COMMIT_MESSAGE, --commit-message COMMIT_MESSAGE\n A message to automatically append to the key. (think\n `git commit -m`) (default: None)\n -i issue_file_to_write_to, --issue-file issue_file_to_write_to\n The issue selected by the user will be written to this\n file, if passed. Use this to actually receive the\n output of the program. I recommend using mktemp to\n generate this file path. (default: )\n```\n\n#### Troubleshooting\n\n##### I'm getting an `ImportError: No module named '_curses'` error\n_Note: This will most likely happen if you're using your own compiled version of Python._\n\nYour version of python wasn't compiled with curses support. This is odd, as most distros tend to ship with it. A solution is to install the curses library and its development headers (`libncurses5-dev` and maybe `libncursesw5-dev` on Ubuntu), then compile a new version of python.\n\n...or you could try to find a packaged version of Python compiled with curses. Up to you. I'd recommend the former on machines that don't support it.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/Berulacks/git-jira-issue-selector/releases/download/v1.3.3/JiraIssueSelector-1.3.3-py3-none-any.whl", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/berulacks/git-jira-issue-selector", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "JiraIssueSelector", "package_url": "https://pypi.org/project/JiraIssueSelector/", "platform": "", "project_url": "https://pypi.org/project/JiraIssueSelector/", "project_urls": { "Download": "https://github.com/Berulacks/git-jira-issue-selector/releases/download/v1.3.3/JiraIssueSelector-1.3.3-py3-none-any.whl", "Homepage": "https://github.com/berulacks/git-jira-issue-selector" }, "release_url": "https://pypi.org/project/JiraIssueSelector/1.3.3/", "requires_dist": [ "blessed (>=1.15)", "certifi (==2018.4.16)", "chardet (==3.0.4)", "fuzzywuzzy (>=0.16.0)", "gitdb2 (==2.0.3)", "GitPython (==2.1.9)", "idna (==2.6)", "python-Levenshtein (==0.12.0)", "PyYAML (>=4.2b4)", "requests (>=2.21.0)", "six (==1.11.0)", "smmap2 (==2.0.3)", "urllib3 (==1.23)", "wcwidth (==0.1.7)" ], "requires_python": ">=3", "summary": "Allows you to quickly select and prepend JIRA issues to git commit messages", "version": "1.3.3" }, "last_serial": 4593727, "releases": { "1.0.3": [ { "comment_text": "", "digests": { "md5": "f509828315a4dd97ae4bf3f638301757", "sha256": "bf8fd43efe819b845b44bf25f0427eb635c43718a796a1a603223323b7b79806" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f509828315a4dd97ae4bf3f638301757", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25610, "upload_time": "2018-04-30T16:33:32", "url": "https://files.pythonhosted.org/packages/6d/01/799ebca1f0f42c1d6abc0d25835c39949ca35e397619cb39ef22df0f0fcd/JiraIssueSelector-1.0.3-py3-none-any.whl" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "b80e35029836efa8ff24588094c98362", "sha256": "edc4f1ace19d428650ae992277c7bfeb3626d2372c9fd4e2cdc0ad33b24a8a66" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "b80e35029836efa8ff24588094c98362", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25762, "upload_time": "2018-05-02T12:58:15", "url": "https://files.pythonhosted.org/packages/22/f5/a9a0ffeac786e6d7b112e14e27533e975a33ed8bb614a11adceb44d2bb6f/JiraIssueSelector-1.0.4-py3-none-any.whl" } ], "1.0.4.1": [ { "comment_text": "", "digests": { "md5": "b7cb4bed1a4e03321fd75087e3f94da9", "sha256": "f86cee297224b055627ee2998e4ccddf14537b3ee00c41c4794db4cc64cb9085" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b7cb4bed1a4e03321fd75087e3f94da9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25915, "upload_time": "2018-05-02T13:09:58", "url": "https://files.pythonhosted.org/packages/d6/86/d29bc750609f928b6c8d948d7954675545bbac68d7cf8ba5e094ed044869/JiraIssueSelector-1.0.4.1-py3-none-any.whl" } ], "1.0.4.2": [ { "comment_text": "", "digests": { "md5": "391d5f3be52157f94dafe4917f34506d", "sha256": "c55268b384fcb506f0e01525c6583b1b2ebd455758b2fbd1e154172f2678ef8e" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "391d5f3be52157f94dafe4917f34506d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25945, "upload_time": "2018-05-02T13:15:32", "url": "https://files.pythonhosted.org/packages/ad/ed/73da33c1ca60f22ef881f5cb16e44e5675940485a9f75734b31f85969d4e/JiraIssueSelector-1.0.4.2-py3-none-any.whl" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "0e854aa3caef6362c073047a8d4300d2", "sha256": "01619d2329dc120e073b6bab81392d401491a91f70eaed314c056582ce798789" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0e854aa3caef6362c073047a8d4300d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 26035, "upload_time": "2018-05-09T13:07:16", "url": "https://files.pythonhosted.org/packages/97/94/15d527ad1b52fdae86ccb518c42c62a63bd8d85db5f1504cf6a4fd148fbb/JiraIssueSelector-1.0.5-py3-none-any.whl" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "b30af874d40699ddeb4066283e921c54", "sha256": "5b844160b4d9b7f6fbeb924c844950b2ac6d1dc6ffbb88c2c2a6a54f7442810d" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b30af874d40699ddeb4066283e921c54", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 26411, "upload_time": "2018-05-09T14:08:34", "url": "https://files.pythonhosted.org/packages/c7/d6/afdb840b6fa93428f606933a3492a64a2c33a08e05ae9fa6bac54860750d/JiraIssueSelector-1.0.6-py3-none-any.whl" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "07193382780b63558773889465ba307b", "sha256": "3c0ef93c01e2fb532a272833e7384fc3a949579bbe645165eef434c8243089e9" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "07193382780b63558773889465ba307b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 26500, "upload_time": "2018-05-31T15:31:01", "url": "https://files.pythonhosted.org/packages/12/40/c873d942accc7928b9880a46be121495973511612461f633815d0f88fb36/JiraIssueSelector-1.0.7-py3-none-any.whl" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "1cbe2fe8dc2488fe9573e45d91858de6", "sha256": "4d1b8e50ab896c0a98e1690e5367f93a498a1e2db5b38462dfc41a4134899897" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "1cbe2fe8dc2488fe9573e45d91858de6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 26231, "upload_time": "2018-05-31T19:52:15", "url": "https://files.pythonhosted.org/packages/d8/6a/b579f1eaf26124ca8cfa5abb72de4db6a9ab7dbddbc00ec0d8308288d834/JiraIssueSelector-1.0.8-py3-none-any.whl" } ], "1.0.8.1": [ { "comment_text": "", "digests": { "md5": "7ae3a77d0591b84dfab9e6108cd166d6", "sha256": "55943e428840744c6699d813b498326bc48cef7c3681d4e9f69818c7ab889f0f" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7ae3a77d0591b84dfab9e6108cd166d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28064, "upload_time": "2018-05-31T20:05:46", "url": "https://files.pythonhosted.org/packages/c8/7a/f601514bfdfe56e2bdab8376dca93527135dd79232ff81b580582bf666c4/JiraIssueSelector-1.0.8.1-py3-none-any.whl" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "68cb43e8dfdaf1fb8d53258e00ae5230", "sha256": "6c44019a00d4c2b38d76aac2eedcbe0cf8640d17ad94bcb5e17fabc9a5cc60e2" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "68cb43e8dfdaf1fb8d53258e00ae5230", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28364, "upload_time": "2018-07-03T14:57:51", "url": "https://files.pythonhosted.org/packages/26/11/3719d0554a0ecdc13f566bf3126e133a971d86665440ca3254de83a7eb64/JiraIssueSelector-1.0.9-py3-none-any.whl" } ], "1.0.9.1": [ { "comment_text": "", "digests": { "md5": "efa6ea43ca863fc68e7a47919c080c75", "sha256": "c5f8c63e4b5b779065603d52305f62f75d7e7c1f536b5f45897a89682158ffac" }, "downloads": -1, "filename": "JiraIssueSelector-1.0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "efa6ea43ca863fc68e7a47919c080c75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28393, "upload_time": "2018-07-03T15:14:07", "url": "https://files.pythonhosted.org/packages/d1/ba/2f00c4dc4dca7c24e8c567584f61fd63548587c51c001eb561b6911c2219/JiraIssueSelector-1.0.9.1-py3-none-any.whl" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "5b6612a18c9114fb9c26c49bb1f447f4", "sha256": "b4bbe178355a320358cd4640b6f865fa86b2ace9a60b22f5386c26114ecac1d7" }, "downloads": -1, "filename": "JiraIssueSelector-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5b6612a18c9114fb9c26c49bb1f447f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28356, "upload_time": "2018-07-20T09:14:44", "url": "https://files.pythonhosted.org/packages/18/0d/fbb2ab0d3f373abee7d0d3ca34b585ac0e23324228018911868739f64c8a/JiraIssueSelector-1.1-py3-none-any.whl" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "22e27b8d978a1a611fe9d40af255e52e", "sha256": "824c17a8c690d4b78b49ff846e610ceb61c4ef0fd5ef225f16193a4429909f2f" }, "downloads": -1, "filename": "JiraIssueSelector-1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "22e27b8d978a1a611fe9d40af255e52e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28497, "upload_time": "2018-08-09T14:19:49", "url": "https://files.pythonhosted.org/packages/a7/a2/6c92bee9324809aa7471a3796e8e8921916cfde6268f44b7871c76b9e9c1/JiraIssueSelector-1.2-py3-none-any.whl" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "82e3f01bccd2ace4ed89958795e5dc1c", "sha256": "0464696c9f8c12ee60409b42dfd6258020f06ab961dbdd9de622e280e3c6a5b5" }, "downloads": -1, "filename": "JiraIssueSelector-1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "82e3f01bccd2ace4ed89958795e5dc1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28501, "upload_time": "2018-10-26T01:11:01", "url": "https://files.pythonhosted.org/packages/07/6e/1ac2fec52580ab307fb0d9f37f3afe1120c886ea666ce8d59e6fb9a623ac/JiraIssueSelector-1.3-py3-none-any.whl" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "88dbf634e857ab50d18b12427b14dd75", "sha256": "863caa86a889d5efb3e5a60599c351bc9c979db6cbae88a9425eadf4435c5f93" }, "downloads": -1, "filename": "JiraIssueSelector-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "88dbf634e857ab50d18b12427b14dd75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 31227, "upload_time": "2018-10-31T15:14:16", "url": "https://files.pythonhosted.org/packages/2e/f8/5262f6e265d2e2925804313a74752bee3ed1df5685731f981f93360e4162/JiraIssueSelector-1.3.1-py3-none-any.whl" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "1f57d8f09074c6e65798f29e614125fa", "sha256": "c6e1ebe9b2837e9f63b2c1372136c1735e6f555e000adb1f938aa6bf0ab74067" }, "downloads": -1, "filename": "JiraIssueSelector-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1f57d8f09074c6e65798f29e614125fa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28917, "upload_time": "2018-12-13T09:00:04", "url": "https://files.pythonhosted.org/packages/a2/97/ab9c8b8749ebdf5f3dbe60486dd428f43d77627ec9c68fae54bfcf983cfc/JiraIssueSelector-1.3.2-py3-none-any.whl" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "dbcdce94ad36a872faccad6911c736b4", "sha256": "c49fb763c757f6897c97221c8b6f40a779d69d81bd2062ddcabe70ff1e1491bb" }, "downloads": -1, "filename": "JiraIssueSelector-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "dbcdce94ad36a872faccad6911c736b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28919, "upload_time": "2018-12-13T09:45:50", "url": "https://files.pythonhosted.org/packages/f5/64/d37e7c9813f1f648f1a948f562a0bbf10a4d59234246205b5d0930573144/JiraIssueSelector-1.3.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dbcdce94ad36a872faccad6911c736b4", "sha256": "c49fb763c757f6897c97221c8b6f40a779d69d81bd2062ddcabe70ff1e1491bb" }, "downloads": -1, "filename": "JiraIssueSelector-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "dbcdce94ad36a872faccad6911c736b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28919, "upload_time": "2018-12-13T09:45:50", "url": "https://files.pythonhosted.org/packages/f5/64/d37e7c9813f1f648f1a948f562a0bbf10a4d59234246205b5d0930573144/JiraIssueSelector-1.3.3-py3-none-any.whl" } ] }