Name | log-time-to-tempo JSON |
Version |
0.0.4
JSON |
| download |
home_page | None |
Summary | Log your work time to tempo from the command line. |
upload_time | 2025-01-14 16:32:56 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
keywords |
cli
jira
tempo
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Log Time to Tempo
[![PyPI - Version](https://img.shields.io/pypi/v/log-time-to-tempo.svg)](https://pypi.org/project/log-time-to-tempo)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/log-time-to-tempo.svg)](https://pypi.org/project/log-time-to-tempo)
-----
Log your time to tempo on a self-hosted Jira instance from the convenience of your command line.
## Requirements
This tool is developed against
- Jira Server v9.4.17
- Tempo Timesheets 17.2.0 plugin
Any deviation from that setup might lead to issues.
Feel free to provide PRs to support other configurations.
## Installation
```console
pip install log-time-to-tempo
```
## Getting Started
To initialize authentication and local caches of projects and issues, run
```
lt init
```
If you want to enable shell completion (which makes picking issues much easier), run
```
lt --install-completion
```
## Usage
### Log Time
```sh
# log full workday to default issue
lt log
# log 2h to default issue
lt log 2h
# log 2h to specific issue
lt log 2h TSI-1
# log with custom message
lt log -m "working on foo" 2h TSI-1
```
### Check Logged Time
```sh
# show logged time per issue
lt stats
# show logged time per issue for current month
lt stats month
# ..also show individual worklogs
lt stats -v
```
## Configuration
The `lt config` command allows to change the default behavior, either system wide (`--system`) or in the local directory and subdirectories.
Here are a couple of usage examples:
```sh
# Set custom jira instance for all projects (i.e. system-wide)
lt config --system JIRA_INSTANCE https://jira.my-server.com
# Set default issue for worklogs created from current directory (and subdirectories)
lt config LT_LOG_ISSUE TSI-7
# Start all your worklogs at 10am (instead of the default 9am)
lt config --system LT_LOG_START 10
# Remove all custom configuration
lt config --unset
```
## Changes
### [latest]
[latest]: https://github.com/jannismain/log-time-to-tempo/commits/main/
<!-- ### [0.0.X] - 202X-XX-XX
[0.0.3]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.X -->
### [0.0.4] - 2025-01-14
[0.0.4]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.4
- on `lt alias --unset` completion, only existing aliases are suggested
- fix keyring issues
- keyring provided by `1password-cli` could not be used to persist token → default to system keyring on macOS
- keyring fails on platforms other than macOS → alternative keyring backends are used.
- fix issue where `lt init` would update cache twice.
### [0.0.3] - 2024-09-12
[0.0.3]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.3
- add `lt stats` command to aggregate spent time per issue
- add `lt alias` command to provide more meaningful aliases for issue descriptions
- `lt alias --unset` to remove previously set aliases
- renamed relative date ranges
- `week` → `last_7_days`
- `month` → `last_30_days`
- `week_to_date` → `week`
- `month_to_date` → `month`
- support abbreviations for relative date ranges (e.g. `l7` for `last_7_days`)
- fix issue where app dir would not be created on first run
- fix issue with formatted durations, where days would not be accounted for
- fix issue where token was saved to third-party keyrings (e.g. 1Password)
- parse more relative dates (e.g. "3 weeks ago") (using [`dateparser.parse`][dateparser.parse])
### [0.0.2] - 2024-04-17
[0.0.2]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.2
- add `log --lunch` option to reduce the amount of math you have to do in your head when entering your time
- lunch will simply be deducted from the total duration and your end time
- rename `log --from-time '' --to-time ''` options to `log --start '' --end ''`
- `log --day` is now case-insensitive (so `Mo` will be recognized as `monday`)
- add `--version` flag
### [0.0.1] - 2024-03-25
[0.0.1]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.1
- authorize with JIRA instance using personal access token
- prompt for token and persist using [`keyring`][python-keyring] package
- create and list worklogs via tempo's REST API
- list projects and issues using [`jira`][python-jira] API
- cache projects and issues for faster responses and shell completion
[python-jira]: https://github.com/pycontribs/jira
[python-keyring]: https://pypi.org/project/keyring/
[dateparser.parse]: https://dateparser.readthedocs.io/en/latest/#popular-formats
Raw data
{
"_id": null,
"home_page": null,
"name": "log-time-to-tempo",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "cli, jira, tempo",
"author": null,
"author_email": "Jannis Mainczyk <jannis.mainczyk@codecentric.de>",
"download_url": "https://files.pythonhosted.org/packages/0e/45/31af579b764bd67307ec5979bf203287760b5fea0fc99a06bf46f5824258/log_time_to_tempo-0.0.4.tar.gz",
"platform": null,
"description": "# Log Time to Tempo\n\n[![PyPI - Version](https://img.shields.io/pypi/v/log-time-to-tempo.svg)](https://pypi.org/project/log-time-to-tempo)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/log-time-to-tempo.svg)](https://pypi.org/project/log-time-to-tempo)\n\n-----\n\nLog your time to tempo on a self-hosted Jira instance from the convenience of your command line.\n\n## Requirements\n\nThis tool is developed against\n\n- Jira Server v9.4.17\n- Tempo Timesheets 17.2.0 plugin\n\nAny deviation from that setup might lead to issues.\nFeel free to provide PRs to support other configurations.\n\n## Installation\n\n```console\npip install log-time-to-tempo\n```\n\n## Getting Started\n\nTo initialize authentication and local caches of projects and issues, run\n\n```\nlt init\n```\n\nIf you want to enable shell completion (which makes picking issues much easier), run\n\n```\nlt --install-completion\n```\n\n## Usage\n\n### Log Time\n\n```sh\n# log full workday to default issue\nlt log\n# log 2h to default issue\nlt log 2h\n# log 2h to specific issue\nlt log 2h TSI-1\n# log with custom message\nlt log -m \"working on foo\" 2h TSI-1\n```\n\n### Check Logged Time\n\n```sh\n# show logged time per issue\nlt stats\n# show logged time per issue for current month\nlt stats month\n# ..also show individual worklogs\nlt stats -v\n```\n\n## Configuration\n\n\nThe `lt config` command allows to change the default behavior, either system wide (`--system`) or in the local directory and subdirectories.\n\nHere are a couple of usage examples:\n\n```sh\n# Set custom jira instance for all projects (i.e. system-wide)\nlt config --system JIRA_INSTANCE https://jira.my-server.com\n\n# Set default issue for worklogs created from current directory (and subdirectories)\nlt config LT_LOG_ISSUE TSI-7\n\n# Start all your worklogs at 10am (instead of the default 9am)\nlt config --system LT_LOG_START 10\n\n# Remove all custom configuration\nlt config --unset\n```\n\n## Changes\n\n### [latest]\n[latest]: https://github.com/jannismain/log-time-to-tempo/commits/main/\n\n<!-- ### [0.0.X] - 202X-XX-XX\n[0.0.3]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.X -->\n\n### [0.0.4] - 2025-01-14\n[0.0.4]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.4\n\n- on `lt alias --unset` completion, only existing aliases are suggested\n- fix keyring issues\n - keyring provided by `1password-cli` could not be used to persist token \u2192 default to system keyring on macOS\n - keyring fails on platforms other than macOS \u2192 alternative keyring backends are used.\n- fix issue where `lt init` would update cache twice.\n\n### [0.0.3] - 2024-09-12\n[0.0.3]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.3\n\n- add `lt stats` command to aggregate spent time per issue\n- add `lt alias` command to provide more meaningful aliases for issue descriptions\n - `lt alias --unset` to remove previously set aliases\n- renamed relative date ranges\n - `week` \u2192 `last_7_days`\n - `month` \u2192 `last_30_days`\n - `week_to_date` \u2192 `week`\n - `month_to_date` \u2192 `month`\n- support abbreviations for relative date ranges (e.g. `l7` for `last_7_days`)\n- fix issue where app dir would not be created on first run\n- fix issue with formatted durations, where days would not be accounted for\n- fix issue where token was saved to third-party keyrings (e.g. 1Password)\n- parse more relative dates (e.g. \"3 weeks ago\") (using [`dateparser.parse`][dateparser.parse])\n\n### [0.0.2] - 2024-04-17\n[0.0.2]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.2\n\n- add `log --lunch` option to reduce the amount of math you have to do in your head when entering your time\n - lunch will simply be deducted from the total duration and your end time\n- rename `log --from-time '' --to-time ''` options to `log --start '' --end ''`\n- `log --day` is now case-insensitive (so `Mo` will be recognized as `monday`)\n- add `--version` flag\n\n### [0.0.1] - 2024-03-25\n[0.0.1]: https://github.com/jannismain/log-time-to-tempo/releases/tag/v0.0.1\n\n- authorize with JIRA instance using personal access token\n - prompt for token and persist using [`keyring`][python-keyring] package\n- create and list worklogs via tempo's REST API\n- list projects and issues using [`jira`][python-jira] API\n- cache projects and issues for faster responses and shell completion\n\n[python-jira]: https://github.com/pycontribs/jira\n[python-keyring]: https://pypi.org/project/keyring/\n[dateparser.parse]: https://dateparser.readthedocs.io/en/latest/#popular-formats\n",
"bugtrack_url": null,
"license": null,
"summary": "Log your work time to tempo from the command line.",
"version": "0.0.4",
"project_urls": {
"Documentation": "https://github.com/jannismain/log-time-to-tempo#readme",
"Issues": "https://github.com/jannismain/log-time-to-tempo/issues",
"Source": "https://github.com/jannismain/log-time-to-tempo"
},
"split_keywords": [
"cli",
" jira",
" tempo"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9c6ef572c8259b9569daef5f8f2b800407b6acb7b554b26d7755704e381e931a",
"md5": "73e13573df1405dfd621e93071a757d4",
"sha256": "e1a85487411f528d8e5762667ce047b5cadb377edc079cb1d5eb5d2e767168ea"
},
"downloads": -1,
"filename": "log_time_to_tempo-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "73e13573df1405dfd621e93071a757d4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 18340,
"upload_time": "2025-01-14T16:32:59",
"upload_time_iso_8601": "2025-01-14T16:32:59.217343Z",
"url": "https://files.pythonhosted.org/packages/9c/6e/f572c8259b9569daef5f8f2b800407b6acb7b554b26d7755704e381e931a/log_time_to_tempo-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0e4531af579b764bd67307ec5979bf203287760b5fea0fc99a06bf46f5824258",
"md5": "16c03d995eb8402bace2b622c0613932",
"sha256": "058631ac863d6ca481a864cfa752a6426f35422d65751b163e31c7b104fb6a59"
},
"downloads": -1,
"filename": "log_time_to_tempo-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "16c03d995eb8402bace2b622c0613932",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 698194,
"upload_time": "2025-01-14T16:32:56",
"upload_time_iso_8601": "2025-01-14T16:32:56.663564Z",
"url": "https://files.pythonhosted.org/packages/0e/45/31af579b764bd67307ec5979bf203287760b5fea0fc99a06bf46f5824258/log_time_to_tempo-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-14 16:32:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jannismain",
"github_project": "log-time-to-tempo#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "log-time-to-tempo"
}