# PyRust Task ID
![PyRust Task ID](https://img.shields.io/pypi/v/pyrust-task-id?label=pyrust-task-id)
![MIT](https://img.shields.io/badge/license-MIT-blue)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/vanya909/pyrust-task-id/.github%2Fworkflows%2FCI.yml)
A written in Rust tool for Python programs that automatically pull task id from branch name to commit message.
## Example
Let's imagine you have branch `project_name/TASK-111-implement-feature` and you need
to provide the task `TASK-111` into commit message.<br>Then you can just use this tool.
First, just add hook into `.pre-commit-config.yaml`:
```yaml
- repo: https://github.com/vanya909/pyrust-task-id-pre-commit
rev: 0.1.5
hooks:
- id: pyrust-task-id
stages: [commit-msg]
args:
- "project_name/(?P<task_template>TASK-[0-9]{3})-.*"
- "{subject}\\n\\n{body}\\n\\nTask ID: {task_id}"
```
Then run
```bash
pre-commit install --hook-type "commit-msg"
```
Then commit
```bash
git commit -m"My cool feature" -m"Can't wait to see this feature in prod."
```
And then you'll see following commit message:
```
My cool feature
Can't wait to see this feature in prod.
Task ID: TASK-111
```
This project uses [standalone repo](https://github.com/vanya909/pyrust-task-id-pre-commit) for pre-commit hook because it requires pre-build python wheels from PyPI
Raw data
{
"_id": null,
"home_page": null,
"name": "pyrust-task-id",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "rust, python, ticket, task, branch, commit, auto, pre-commit, retrieve, pull, parse, jira, hook",
"author": null,
"author_email": "Ivan Studinsky <vanya909x75@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/97/cd/1f392f7c377b9ca79e1f7767b9135bc59de8732bf50a318a211051e76492/pyrust_task_id-0.1.5.tar.gz",
"platform": null,
"description": "# PyRust Task ID\n![PyRust Task ID](https://img.shields.io/pypi/v/pyrust-task-id?label=pyrust-task-id)\n![MIT](https://img.shields.io/badge/license-MIT-blue)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/vanya909/pyrust-task-id/.github%2Fworkflows%2FCI.yml)\n\n\nA written in Rust tool for Python programs that automatically pull task id from branch name to commit message.\n\n## Example\nLet's imagine you have branch `project_name/TASK-111-implement-feature` and you need\nto provide the task `TASK-111` into commit message.<br>Then you can just use this tool.\n\nFirst, just add hook into `.pre-commit-config.yaml`:\n```yaml\n- repo: https://github.com/vanya909/pyrust-task-id-pre-commit\n rev: 0.1.5\n hooks:\n - id: pyrust-task-id\n stages: [commit-msg]\n args:\n - \"project_name/(?P<task_template>TASK-[0-9]{3})-.*\"\n - \"{subject}\\\\n\\\\n{body}\\\\n\\\\nTask ID: {task_id}\"\n```\n\nThen run\n```bash\npre-commit install --hook-type \"commit-msg\"\n```\n\nThen commit\n```bash\ngit commit -m\"My cool feature\" -m\"Can't wait to see this feature in prod.\"\n```\n\nAnd then you'll see following commit message:\n```\nMy cool feature\n\nCan't wait to see this feature in prod.\n\nTask ID: TASK-111\n```\n\nThis project uses [standalone repo](https://github.com/vanya909/pyrust-task-id-pre-commit) for pre-commit hook because it requires pre-build python wheels from PyPI\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Tool to provide task id, retrieved from branch name, right into commit message.",
"version": "0.1.5",
"project_urls": {
"Homepage": "https://github.com/vanya909/pyrust-task-id",
"Issues": "https://github.com/vanya909/pyrust-task-id/issues",
"Pre-commit hook": "https://github.com/vanya909/pyrust-task-id-pre-commit"
},
"split_keywords": [
"rust",
" python",
" ticket",
" task",
" branch",
" commit",
" auto",
" pre-commit",
" retrieve",
" pull",
" parse",
" jira",
" hook"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6e68447e83bffb13745d2721553559e96e2f7c97cd391058275e217e1d11b0aa",
"md5": "6478f4d5e26eafdc05ac05d0ca43f3e0",
"sha256": "8ff85a8fe53e0cd1879ce04fe2bd8e82ded53457f748bbe763a20373f42d13d0"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "6478f4d5e26eafdc05ac05d0ca43f3e0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1011718,
"upload_time": "2024-12-16T15:28:59",
"upload_time_iso_8601": "2024-12-16T15:28:59.966691Z",
"url": "https://files.pythonhosted.org/packages/6e/68/447e83bffb13745d2721553559e96e2f7c97cd391058275e217e1d11b0aa/pyrust_task_id-0.1.5-py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "890c1245b3060b8c08a5267965cc8e9222e6ad43c4766abb2aa07aec03980e85",
"md5": "833df7ebdc634d3fbfff2367f1b2a356",
"sha256": "9f660f6241db1141a5f3be9fb1ecb5745b2836308d51753424375d976a081be5"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "833df7ebdc634d3fbfff2367f1b2a356",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1121999,
"upload_time": "2024-12-16T15:28:50",
"upload_time_iso_8601": "2024-12-16T15:28:50.153275Z",
"url": "https://files.pythonhosted.org/packages/89/0c/1245b3060b8c08a5267965cc8e9222e6ad43c4766abb2aa07aec03980e85/pyrust_task_id-0.1.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "036d142fa4444c1b1289abdd44591b5992c10f00eee6d287dd069163a2c38179",
"md5": "70ceb0dfe452d948201e10ea0a95b298",
"sha256": "aad71bf7c56377e9aba9bb94a3cc76907122371608340aa4706364edebe7f054"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "70ceb0dfe452d948201e10ea0a95b298",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1080091,
"upload_time": "2024-12-16T15:28:51",
"upload_time_iso_8601": "2024-12-16T15:28:51.704092Z",
"url": "https://files.pythonhosted.org/packages/03/6d/142fa4444c1b1289abdd44591b5992c10f00eee6d287dd069163a2c38179/pyrust_task_id-0.1.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c6e9a0bc51aa084b51d06a3f57e11d597c80d864fb9488d9be13eebf3240a8e6",
"md5": "2f22e18041df0ac8de538b10b341cb68",
"sha256": "3e2a9bac3561ff0fdfe76678d5b363a1e0222fc25c136d294859bbebef66612d"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "2f22e18041df0ac8de538b10b341cb68",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1195480,
"upload_time": "2024-12-16T15:28:57",
"upload_time_iso_8601": "2024-12-16T15:28:57.255542Z",
"url": "https://files.pythonhosted.org/packages/c6/e9/a0bc51aa084b51d06a3f57e11d597c80d864fb9488d9be13eebf3240a8e6/pyrust_task_id-0.1.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d289795e6b71eb7ad82861b5331b83063fc3471201962d969c39fb2ce287484a",
"md5": "73998f23d376434a9ed0553f751ab149",
"sha256": "fd7b5444cba31b115efcc8abc5a4e983f9d7ef04bfc79eaae3568e7949b4b15b"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "73998f23d376434a9ed0553f751ab149",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1245889,
"upload_time": "2024-12-16T15:28:53",
"upload_time_iso_8601": "2024-12-16T15:28:53.213785Z",
"url": "https://files.pythonhosted.org/packages/d2/89/795e6b71eb7ad82861b5331b83063fc3471201962d969c39fb2ce287484a/pyrust_task_id-0.1.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4cd1a03d54176e894091b20aa030d3e724b7d8fc9b05640f6e8b2922a12a2087",
"md5": "00786f4b77eb13d3e682bf4ff0d3ddea",
"sha256": "fa5734a7720cc87ec6aad878c244d5abdf2b1d3c162e8bc0620bf0a3cac551ab"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "00786f4b77eb13d3e682bf4ff0d3ddea",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1278260,
"upload_time": "2024-12-16T15:28:54",
"upload_time_iso_8601": "2024-12-16T15:28:54.730112Z",
"url": "https://files.pythonhosted.org/packages/4c/d1/a03d54176e894091b20aa030d3e724b7d8fc9b05640f6e8b2922a12a2087/pyrust_task_id-0.1.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4b8748ec1d5558c31f5d966b23c99f8729f98824701177e25912f059da1b6809",
"md5": "d0435717b5d5e186f70a400f51d1a415",
"sha256": "a7dba6ec08dead0b7fd7baf0bc5e4937234a983fd14b2781c8829eb42bc2f5e1"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d0435717b5d5e186f70a400f51d1a415",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1184755,
"upload_time": "2024-12-16T15:28:58",
"upload_time_iso_8601": "2024-12-16T15:28:58.624838Z",
"url": "https://files.pythonhosted.org/packages/4b/87/48ec1d5558c31f5d966b23c99f8729f98824701177e25912f059da1b6809/pyrust_task_id-0.1.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "87968fb5e3d1b79572be710e4f52fa9ebfba3520ee549d44a3104eca194c45e0",
"md5": "7755522fa587d0764fc22dcbb94611b9",
"sha256": "e087ea0e034047c0b02bb76ac765cab828a8d0f68cd9e24027ea6bf72862207d"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "7755522fa587d0764fc22dcbb94611b9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1126234,
"upload_time": "2024-12-16T15:29:02",
"upload_time_iso_8601": "2024-12-16T15:29:02.593168Z",
"url": "https://files.pythonhosted.org/packages/87/96/8fb5e3d1b79572be710e4f52fa9ebfba3520ee549d44a3104eca194c45e0/pyrust_task_id-0.1.5-py3-none-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fb24ce3d3e4a1ec6c584d918d9d6317431714d5c533c704e2b96543bb381cda8",
"md5": "b84f4930f4bc16faa205714910c11519",
"sha256": "e35822066e2c9488b6832346b9e5b722b431569a999770ab63466c3edaadb38b"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-musllinux_1_2_armv7l.whl",
"has_sig": false,
"md5_digest": "b84f4930f4bc16faa205714910c11519",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1103871,
"upload_time": "2024-12-16T15:29:05",
"upload_time_iso_8601": "2024-12-16T15:29:05.637210Z",
"url": "https://files.pythonhosted.org/packages/fb/24/ce3d3e4a1ec6c584d918d9d6317431714d5c533c704e2b96543bb381cda8/pyrust_task_id-0.1.5-py3-none-musllinux_1_2_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "65bb13bad2f519327d27723016de5ab0466916103ebb83750a83ae4b5cc22d05",
"md5": "bb6940a9e49f94000f5377fe98d88aae",
"sha256": "46a5ae690f24bfe22e178021eb2901b03549fa560712c2bc64dc1fcc7b87204e"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "bb6940a9e49f94000f5377fe98d88aae",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1182337,
"upload_time": "2024-12-16T15:29:08",
"upload_time_iso_8601": "2024-12-16T15:29:08.536368Z",
"url": "https://files.pythonhosted.org/packages/65/bb/13bad2f519327d27723016de5ab0466916103ebb83750a83ae4b5cc22d05/pyrust_task_id-0.1.5-py3-none-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1b60b19a7fd82e2f2651b415dabbb3277ebdc39793b71cb00ec44a834909b4c0",
"md5": "929f2b927454398a9ec98b278509578c",
"sha256": "c8a3b1d34395a4428a2f7aaa9c92a467e864072b4288c49417008087fc73b6ef"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "929f2b927454398a9ec98b278509578c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1239247,
"upload_time": "2024-12-16T15:29:11",
"upload_time_iso_8601": "2024-12-16T15:29:11.331248Z",
"url": "https://files.pythonhosted.org/packages/1b/60/b19a7fd82e2f2651b415dabbb3277ebdc39793b71cb00ec44a834909b4c0/pyrust_task_id-0.1.5-py3-none-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d52686fd334c23ae4769323c309e969a83fc8b504691872e0bc464ee2b5db7fb",
"md5": "d3f3d6cf8ee5e3c0acf7ec570b317f49",
"sha256": "9b58fd80f94b5cfdf7f1efe321ec535367266804236ce95c92f206eca2284756"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-win32.whl",
"has_sig": false,
"md5_digest": "d3f3d6cf8ee5e3c0acf7ec570b317f49",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 838813,
"upload_time": "2024-12-16T15:29:16",
"upload_time_iso_8601": "2024-12-16T15:29:16.327579Z",
"url": "https://files.pythonhosted.org/packages/d5/26/86fd334c23ae4769323c309e969a83fc8b504691872e0bc464ee2b5db7fb/pyrust_task_id-0.1.5-py3-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "af844b57aca20efbe3ab10e8e063b1fcfcd2e59ace5be18657598ac569847264",
"md5": "c8800f9edfc804b55e3fae71747a3b0b",
"sha256": "2c5daad9549acff604c7ed67f8eaf00c805aae90cde1b64a3ff4ed42ce54ea43"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5-py3-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "c8800f9edfc804b55e3fae71747a3b0b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 921775,
"upload_time": "2024-12-16T15:29:14",
"upload_time_iso_8601": "2024-12-16T15:29:14.829837Z",
"url": "https://files.pythonhosted.org/packages/af/84/4b57aca20efbe3ab10e8e063b1fcfcd2e59ace5be18657598ac569847264/pyrust_task_id-0.1.5-py3-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "97cd1f392f7c377b9ca79e1f7767b9135bc59de8732bf50a318a211051e76492",
"md5": "2fadd647b1ab2c453f06d7aac50118c0",
"sha256": "6e5acd0300e40783ddf4b77c90ceb2810e5391843dad85a18fcec5a05d2aa466"
},
"downloads": -1,
"filename": "pyrust_task_id-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "2fadd647b1ab2c453f06d7aac50118c0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 10313,
"upload_time": "2024-12-16T15:29:13",
"upload_time_iso_8601": "2024-12-16T15:29:13.940688Z",
"url": "https://files.pythonhosted.org/packages/97/cd/1f392f7c377b9ca79e1f7767b9135bc59de8732bf50a318a211051e76492/pyrust_task_id-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-16 15:29:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vanya909",
"github_project": "pyrust-task-id",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyrust-task-id"
}