# Killtimer - do more working less!
This utility helps limit the amount of time devoted to work by keeping track of clearly defined work periods.
It's like a timer which cannot be stopped but will kill the passed command forcing the user to finish the job.
This may sound counterintuitive, but a lot of studies show that limiting time for a task forces the person to use the time more effectively.
## Features
- CLI interface
- Three configurable effort levels:
- Minimal
- Work
- Overtime
- Keep track of user-provided command and kill it if it has been running too long (after overtime)
- Utilizes desktop notifications to inform users about the finished period
- Optionally can play a sound when minimal effort/work period is done
- Allow storing amount of work done as CSV file for further analysis
## Install
```console
$ pip install [--user] killtimer
```
## Usage

```usage
usage: killtimer [-h] [-m duration] [-w duration] [-o duration] [-l log_file] [-t title] [-s sound_file] [command [command ...]]
Close application when time runs out
positional arguments:
command Executable (with arguments) to run (default: None)
optional arguments:
-h, --help show this help message and exit
-m duration, --minimal-effort duration
Minimal work duration (default: 0:10:00)
-w duration, --work duration
Proper work duration (default: 1:00:00)
-o duration, --overtime duration
Overtime duration (default: 0:15:00)
-l log_file, --log log_file
Log file where to store amount of work done (default: None)
-t title, --title title
Title to display above progress bars and configuration (default: None)
-s sound_file, --sound sound_file
Sound file to play when minimal effort or work period is reached (default: None)
```
Usually you would want to create alias in your `*rc` file like:
```shell
alias blender-work="killtimer -m 10m -w 1h -o 10m -t 'Creative work' -l /path/to/worklog.csv blender"
```
Raw data
{
"_id": null,
"home_page": "https://github.com/idle-code/killtimer",
"name": "killtimer",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Pawe\u0142 \u017bukowski",
"author_email": "p.z.idlecode@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a9/a5/a068b278a169115885f0ccc16f87eee3974a4170eeba149e2b64ebd0426a/killtimer-0.4.0.tar.gz",
"platform": null,
"description": "# Killtimer - do more working less!\nThis utility helps limit the amount of time devoted to work by keeping track of clearly defined work periods.\nIt's like a timer which cannot be stopped but will kill the passed command forcing the user to finish the job.\n\nThis may sound counterintuitive, but a lot of studies show that limiting time for a task forces the person to use the time more effectively.\n\n## Features\n- CLI interface\n- Three configurable effort levels:\n - Minimal\n - Work\n - Overtime\n- Keep track of user-provided command and kill it if it has been running too long (after overtime)\n- Utilizes desktop notifications to inform users about the finished period\n- Optionally can play a sound when minimal effort/work period is done\n- Allow storing amount of work done as CSV file for further analysis \n\n## Install\n```console\n$ pip install [--user] killtimer\n```\n\n## Usage\n\n\n\n```usage\nusage: killtimer [-h] [-m duration] [-w duration] [-o duration] [-l log_file] [-t title] [-s sound_file] [command [command ...]]\n\nClose application when time runs out\n\npositional arguments:\n command Executable (with arguments) to run (default: None)\n\noptional arguments:\n -h, --help show this help message and exit\n -m duration, --minimal-effort duration\n Minimal work duration (default: 0:10:00)\n -w duration, --work duration\n Proper work duration (default: 1:00:00)\n -o duration, --overtime duration\n Overtime duration (default: 0:15:00)\n -l log_file, --log log_file\n Log file where to store amount of work done (default: None)\n -t title, --title title\n Title to display above progress bars and configuration (default: None)\n -s sound_file, --sound sound_file\n Sound file to play when minimal effort or work period is reached (default: None)\n```\n\nUsually you would want to create alias in your `*rc` file like:\n```shell\nalias blender-work=\"killtimer -m 10m -w 1h -o 10m -t 'Creative work' -l /path/to/worklog.csv blender\"\n```",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Closes application after specified work interval",
"version": "0.4.0",
"project_urls": {
"Homepage": "https://github.com/idle-code/killtimer"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "aef03712905fccab629205074c62e3bf70c2ce47659ecfe7da2be2486c6f4905",
"md5": "c55dd2b497e7a07117f94610139e1efe",
"sha256": "1120cc51ab356e46099cbb82eb62c58de2da704ef3e3c808aa0bdd3f80db346d"
},
"downloads": -1,
"filename": "killtimer-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c55dd2b497e7a07117f94610139e1efe",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 7795,
"upload_time": "2023-12-27T09:43:30",
"upload_time_iso_8601": "2023-12-27T09:43:30.267455Z",
"url": "https://files.pythonhosted.org/packages/ae/f0/3712905fccab629205074c62e3bf70c2ce47659ecfe7da2be2486c6f4905/killtimer-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a9a5a068b278a169115885f0ccc16f87eee3974a4170eeba149e2b64ebd0426a",
"md5": "eeb7c28fb6c6e75b0df30a4b46018388",
"sha256": "5a3c3932199dfca85be0afb08879468eded41eb5d70072ca47e73a7ce023cda1"
},
"downloads": -1,
"filename": "killtimer-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "eeb7c28fb6c6e75b0df30a4b46018388",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 6232,
"upload_time": "2023-12-27T09:43:31",
"upload_time_iso_8601": "2023-12-27T09:43:31.382319Z",
"url": "https://files.pythonhosted.org/packages/a9/a5/a068b278a169115885f0ccc16f87eee3974a4170eeba149e2b64ebd0426a/killtimer-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-27 09:43:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "idle-code",
"github_project": "killtimer",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "killtimer"
}