chained-recurrence


Namechained-recurrence JSON
Version 0.0.13 PyPI version JSON
download
home_page
SummaryPainless chained recurrence for Taskwarrior.
upload_time2023-08-26 17:20:42
maintainer
docs_urlNone
author
requires_python>=3.8
licenseISC License Copyright © 2023 Matthew Stevens Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
keywords taskwarrior reccuring repeating tasks
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Taskwarrior Chained Recurrence Hook

Painlessly adds chained recurrence to Taskwarrior. Requires `Python >= 3.8`.

![recurring task illustration](https://codeberg.org/Dokana/Taskwarrior-Chained/raw/branch/trunk/illustration.svg)

In the illustration above, task `26ccff69` is automatically created when task
`90e414dl` is completed. With the new task having the equivalent `due` and
`wait` attributes, relative to it's own `entry` attribute.

It's common to have `due` or `wait` fall on a *day boundary* such as `23:59` or
`00:00`, this is usually because a named date such as `eod` or `sod` was used
when creating the original task. If this is the case, new tasks will be created
with the `due` and `wait` attributes automatically falling on the equivalent
day boundaries. If this sounds convoluted, the "[Usage](#usage)" section below
has a simple example.

## Install

```bash
$ pip install chained-recurrence
$ chained-recurrence install
```


## Usage

Create tasks as you usually would, adding `chained:on`:

```bash
$ task add chained:on 'hair cut'
```

When this task's status is changed to `complete`, a new one will be created.

The `wait` and `due` attributes can also be used, their date and time values
will be updated in relation to the current date and time:

```console
$ date
Mon  1 Jan 18:00:00 GMT 2024

$ task add chained:on wait:1d 'workout'
Created task 1.

$ date
Sat 20 Jan 09:00:00 GMT 2024

$ task 1 done
Completed task ab566e0f 'workout'.
Completed 1 task.
Creating new chained task.
```

The newly created chained task will have the following:

| Attribute | Value               |
| --------- | ------------------- |
| wait      | 2024-01-21 09:00:00 |

### Named Dates

```console
$ date
Mon  1 Jan 18:00:00 GMT 2024

$ task add chained:on wait:sod+1d due:eod+2d 'workout'
Created task 1.

$ date
Sat 20 Jan 09:00:00 GMT 2024

$ task 1 done
Completed task ab566e0f 'workout'.
Completed 1 task.
Creating new chained task.
```
The newly created chained task will have the following:

| Attribute | Value               |
| --------- | ------------------- |
| wait      | 2024-01-21 00:00:00 |
| due       | 2024-01-22 23:59:59 |


## Uninstall

```bash
$ chained-recurrence uninstall
$ pip uninstall chained-recurrence
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "chained-recurrence",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "taskwarrior,reccuring,repeating,tasks",
    "author": "",
    "author_email": "Matt Deacalion Stevens <matt@dirtymonkey.co.uk>",
    "download_url": "https://files.pythonhosted.org/packages/bd/c9/3ca5528f3f132bb01e8901e93eb5b4967641d09fcea60e1975fe0ce52b31/chained-recurrence-0.0.13.tar.gz",
    "platform": null,
    "description": "# Taskwarrior Chained Recurrence Hook\n\nPainlessly adds chained recurrence to Taskwarrior. Requires `Python >= 3.8`.\n\n![recurring task illustration](https://codeberg.org/Dokana/Taskwarrior-Chained/raw/branch/trunk/illustration.svg)\n\nIn the illustration above, task `26ccff69` is automatically created when task\n`90e414dl` is completed. With the new task having the equivalent `due` and\n`wait` attributes, relative to it's own `entry` attribute.\n\nIt's common to have `due` or `wait` fall on a *day boundary* such as `23:59` or\n`00:00`, this is usually because a named date such as `eod` or `sod` was used\nwhen creating the original task. If this is the case, new tasks will be created\nwith the `due` and `wait` attributes automatically falling on the equivalent\nday boundaries. If this sounds convoluted, the \"[Usage](#usage)\" section below\nhas a simple example.\n\n## Install\n\n```bash\n$ pip install chained-recurrence\n$ chained-recurrence install\n```\n\n\n## Usage\n\nCreate tasks as you usually would, adding `chained:on`:\n\n```bash\n$ task add chained:on 'hair cut'\n```\n\nWhen this task's status is changed to `complete`, a new one will be created.\n\nThe `wait` and `due` attributes can also be used, their date and time values\nwill be updated in relation to the current date and time:\n\n```console\n$ date\nMon  1 Jan 18:00:00 GMT 2024\n\n$ task add chained:on wait:1d 'workout'\nCreated task 1.\n\n$ date\nSat 20 Jan 09:00:00 GMT 2024\n\n$ task 1 done\nCompleted task ab566e0f 'workout'.\nCompleted 1 task.\nCreating new chained task.\n```\n\nThe newly created chained task will have the following:\n\n| Attribute | Value               |\n| --------- | ------------------- |\n| wait      | 2024-01-21 09:00:00 |\n\n### Named Dates\n\n```console\n$ date\nMon  1 Jan 18:00:00 GMT 2024\n\n$ task add chained:on wait:sod+1d due:eod+2d 'workout'\nCreated task 1.\n\n$ date\nSat 20 Jan 09:00:00 GMT 2024\n\n$ task 1 done\nCompleted task ab566e0f 'workout'.\nCompleted 1 task.\nCreating new chained task.\n```\nThe newly created chained task will have the following:\n\n| Attribute | Value               |\n| --------- | ------------------- |\n| wait      | 2024-01-21 00:00:00 |\n| due       | 2024-01-22 23:59:59 |\n\n\n## Uninstall\n\n```bash\n$ chained-recurrence uninstall\n$ pip uninstall chained-recurrence\n```\n",
    "bugtrack_url": null,
    "license": "ISC License  Copyright \u00a9 2023 Matthew Stevens  Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.  THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ",
    "summary": "Painless chained recurrence for Taskwarrior.",
    "version": "0.0.13",
    "project_urls": {
        "Documentation": "https://codeberg.org/Dokana/Taskwarrior-Chained/#user-content-taskwarrior-chained-recurrence-hook",
        "Issues": "https://codeberg.org/Dokana/Taskwarrior-Chained/issues",
        "Source": "https://codeberg.org/Dokana/Taskwarrior-Chained"
    },
    "split_keywords": [
        "taskwarrior",
        "reccuring",
        "repeating",
        "tasks"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ffdccf0c4a14cda92ef28546643d1a134a985392eda052f53ef596d86c610db",
                "md5": "9c5bb90c159affa45d92bb2aee9fe0e9",
                "sha256": "125e211d183facc3d2338b1578eeff9a9d9b44d0bf770c47dca7105ed1081548"
            },
            "downloads": -1,
            "filename": "chained_recurrence-0.0.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9c5bb90c159affa45d92bb2aee9fe0e9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6673,
            "upload_time": "2023-08-26T17:20:39",
            "upload_time_iso_8601": "2023-08-26T17:20:39.525736Z",
            "url": "https://files.pythonhosted.org/packages/9f/fd/ccf0c4a14cda92ef28546643d1a134a985392eda052f53ef596d86c610db/chained_recurrence-0.0.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bdc93ca5528f3f132bb01e8901e93eb5b4967641d09fcea60e1975fe0ce52b31",
                "md5": "c9858cb0438ca25da931e67d42eaf605",
                "sha256": "3ccc59141f365e4bc73022d5bdb896d0bf00550162629cd74c5a71214c83a886"
            },
            "downloads": -1,
            "filename": "chained-recurrence-0.0.13.tar.gz",
            "has_sig": false,
            "md5_digest": "c9858cb0438ca25da931e67d42eaf605",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 5644,
            "upload_time": "2023-08-26T17:20:42",
            "upload_time_iso_8601": "2023-08-26T17:20:42.171774Z",
            "url": "https://files.pythonhosted.org/packages/bd/c9/3ca5528f3f132bb01e8901e93eb5b4967641d09fcea60e1975fe0ce52b31/chained-recurrence-0.0.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-26 17:20:42",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": true,
    "codeberg_user": "Dokana",
    "codeberg_project": "Taskwarrior-Chained",
    "lcname": "chained-recurrence"
}
        
Elapsed time: 0.50617s