td-cli


Nametd-cli JSON
Version 2.2.1 PyPI version JSON
download
home_pagehttps://github.com/darrikonn/td-cli
SummaryA todo command line manager
upload_time2024-03-23 12:55:33
maintainerNone
docs_urlNone
authorDarri Steinn Konn Konradsson
requires_python>=3.6
licenseMIT
keywords todo commandline td-cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img src="https://raw.githubusercontent.com/darrikonn/td-cli/master/img/td-cli.png" width=80 alt="Icon"/>
</p>

<p align="center">
  <img src="https://user-images.githubusercontent.com/5694851/67482097-be2ecc80-f652-11e9-899d-1d9750929b7e.png" />
  <br />
  <br />
  <a href="https://pypi.org/project/td-cli/">
    <img src="https://img.shields.io/pypi/v/td-cli.svg?style=flat-square"/>
  </a>
  <a href="https://pypi.org/project/td-cli/">
    <img src="https://img.shields.io/pypi/dm/td-cli?style=flat-square"/>
  </a>
  <a href="https://github.com/darrikonn/td-cli/blob/master/LICENSE">
    <img src="https://img.shields.io/badge/Licence-MIT-yellow.svg?longCache=true&style=flat-square"/>
  </a>
  <a href="https://www.python.org/">
    <img src="https://img.shields.io/badge/Made With-Python-red.svg?longCache=true&style=flat-square"/>
  </a>
  <a href="https://github.com/alebcay/awesome-shell#command-line-productivity">
    <img height="20" src="https://user-images.githubusercontent.com/2769158/44446193-327a6580-a5a1-11e8-91e2-21ca857f95d4.png"/>
  </a>
</h3>

<pre>
  <p align="center"><a href="https://pypi.org/project/td-cli/"><strong>td-cli</strong></a> is a command line todo manager, <br/>where you can organize and manage your todos across multiple projects</p>
  <p align="center"><img class="img-responsive" width="500" src="https://raw.githubusercontent.com/darrikonn/td-cli/master/img/td-cli.gif" alt="gif"/></p>
  <p align="center"><a href="https://circleci.com/gh/darrikonn/td-cli"><img src="https://circleci.com/gh/darrikonn/td-cli.svg?style=svg" /></a></p>
</pre>

## Installation

[**td-cli**](https://pypi.org/project/td-cli/) only works for `python 3`, so it needs to be installed with `pip3`

```bash
pip3 install td-cli
```

### Windows 10

In order to use the interactive mode on Windows, you'll have to install [**windows-curses**](https://pypi.org/project/windows-curses/)

```bash
pip install windows-curses
```

In addition to that, [**Windows Terminal**](https://github.com/microsoft/terminal) is recommended for better UX.

## Getting started

Run `td --help` to see possible commands.

Here are some to get you started:

- Run `td` to list all your todos.

- Run `td add "my new awesome todo"` to add a new todo.

- Run `td <id> complete` to complete your todo. You don't have to specify the whole `id`, a substring will do. It'll fetch the first one that it finds in the same order as when you list your todos.

Note that `global` is a preserved group name where you can list all your global groups. You can always set it as the default with:

```bash
td group global preset
```

## API

Check out the [`api`](https://github.com/darrikonn/td-cli/blob/master/API.md).

## Configuring

The location of your todos and your configuration will depend on these environment variables (in this order):

1. **TD_CLI_HOME**: determines where your `todo.db` and `todo.cfg` file will live
2. **XDG_CONFIG_HOME**: a fallback if `$TD_CLI_HOME` is not set
3. **HOME**: a fallback if `$XDG_CONFIG_HOME` is not set. If `$HOME` is used; all files will be transformed to a dotfile, i.e.`~/.todo.db` and `~/.todo.cfg`.

### Database name

Your database instance will be located in in the before-mentioned configuration directory.
By default the database will be named `todo`.

You can change your database name by specifying `database_name` in your `$TD_CLI_HOME/.todo.cfg` file:

```cfg
[settings]
database_name: something_else
```

This results in a database instance at `$TD_CLI_HOME/.something_else.db`

### Format

You can specify your preferred format of your todo's details via the format config keyword:

```cfg
format: md
```

This would result in the `.md` (Markdown) file extension when editing a todo. This allows you to use the power of your editor to e.g. syntax highlight the details, and etc.

### Editor

When editing a todo, `td <id> edit`, you can both specify the todo's `name` and the todo's `details` via options (see `td <id> edit --help`). If no option is specified, your todo will be opened in `vi` by default (your `environement EDITOR` will override this) where you can edit the todo's details. You can change the default editor by updating your config:

```cfg
[settings]
editor: nvim
```

### Only list uncompleted todos

When listing todos, by default td-cli will list both completed and uncompleted todos. If you want to only list uncompleted todos by default, then you can apply the completed config:

```cfg
[settings]
completed: 0
```

### Group

When listing todos, you have the option of specifying what group to list from:

```bash
td -g my-group
# or
td g my-group
```

If no group is provided, `td` will list from the current default group. You can globally set the default group with:

```bash
td g my-group preset
```

However, there's an option to set the default group per git project (this is not possible from the root config `$TD_CLI_HOME/.todo.cfg`).
In any root of your projects, you can create a `.td.cfg` config file to specify what group to default on (this will override the global default group):

```cfg
[settings]
group: my-group
```

If you run `td` within your git project, td will default to _my-group_.

I recommend globally ignoring `.td.cfg` in `~/.gitignore`.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/darrikonn/td-cli",
    "name": "td-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "todo commandline td-cli",
    "author": "Darri Steinn Konn Konradsson",
    "author_email": "darrikonn@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/46/a8/1130833f797913b6d8bf70b45b47214c392ad0039bc36d36f56883f73a35/td-cli-2.2.1.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/darrikonn/td-cli/master/img/td-cli.png\" width=80 alt=\"Icon\"/>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://user-images.githubusercontent.com/5694851/67482097-be2ecc80-f652-11e9-899d-1d9750929b7e.png\" />\n  <br />\n  <br />\n  <a href=\"https://pypi.org/project/td-cli/\">\n    <img src=\"https://img.shields.io/pypi/v/td-cli.svg?style=flat-square\"/>\n  </a>\n  <a href=\"https://pypi.org/project/td-cli/\">\n    <img src=\"https://img.shields.io/pypi/dm/td-cli?style=flat-square\"/>\n  </a>\n  <a href=\"https://github.com/darrikonn/td-cli/blob/master/LICENSE\">\n    <img src=\"https://img.shields.io/badge/Licence-MIT-yellow.svg?longCache=true&style=flat-square\"/>\n  </a>\n  <a href=\"https://www.python.org/\">\n    <img src=\"https://img.shields.io/badge/Made With-Python-red.svg?longCache=true&style=flat-square\"/>\n  </a>\n  <a href=\"https://github.com/alebcay/awesome-shell#command-line-productivity\">\n    <img height=\"20\" src=\"https://user-images.githubusercontent.com/2769158/44446193-327a6580-a5a1-11e8-91e2-21ca857f95d4.png\"/>\n  </a>\n</h3>\n\n<pre>\n  <p align=\"center\"><a href=\"https://pypi.org/project/td-cli/\"><strong>td-cli</strong></a> is a command line todo manager, <br/>where you can organize and manage your todos across multiple projects</p>\n  <p align=\"center\"><img class=\"img-responsive\" width=\"500\" src=\"https://raw.githubusercontent.com/darrikonn/td-cli/master/img/td-cli.gif\" alt=\"gif\"/></p>\n  <p align=\"center\"><a href=\"https://circleci.com/gh/darrikonn/td-cli\"><img src=\"https://circleci.com/gh/darrikonn/td-cli.svg?style=svg\" /></a></p>\n</pre>\n\n## Installation\n\n[**td-cli**](https://pypi.org/project/td-cli/) only works for `python 3`, so it needs to be installed with `pip3`\n\n```bash\npip3 install td-cli\n```\n\n### Windows 10\n\nIn order to use the interactive mode on Windows, you'll have to install [**windows-curses**](https://pypi.org/project/windows-curses/)\n\n```bash\npip install windows-curses\n```\n\nIn addition to that, [**Windows Terminal**](https://github.com/microsoft/terminal) is recommended for better UX.\n\n## Getting started\n\nRun `td --help` to see possible commands.\n\nHere are some to get you started:\n\n- Run `td` to list all your todos.\n\n- Run `td add \"my new awesome todo\"` to add a new todo.\n\n- Run `td <id> complete` to complete your todo. You don't have to specify the whole `id`, a substring will do. It'll fetch the first one that it finds in the same order as when you list your todos.\n\nNote that `global` is a preserved group name where you can list all your global groups. You can always set it as the default with:\n\n```bash\ntd group global preset\n```\n\n## API\n\nCheck out the [`api`](https://github.com/darrikonn/td-cli/blob/master/API.md).\n\n## Configuring\n\nThe location of your todos and your configuration will depend on these environment variables (in this order):\n\n1. **TD_CLI_HOME**: determines where your `todo.db` and `todo.cfg` file will live\n2. **XDG_CONFIG_HOME**: a fallback if `$TD_CLI_HOME` is not set\n3. **HOME**: a fallback if `$XDG_CONFIG_HOME` is not set. If `$HOME` is used; all files will be transformed to a dotfile, i.e.`~/.todo.db` and `~/.todo.cfg`.\n\n### Database name\n\nYour database instance will be located in in the before-mentioned configuration directory.\nBy default the database will be named `todo`.\n\nYou can change your database name by specifying `database_name` in your `$TD_CLI_HOME/.todo.cfg` file:\n\n```cfg\n[settings]\ndatabase_name: something_else\n```\n\nThis results in a database instance at `$TD_CLI_HOME/.something_else.db`\n\n### Format\n\nYou can specify your preferred format of your todo's details via the format config keyword:\n\n```cfg\nformat: md\n```\n\nThis would result in the `.md` (Markdown) file extension when editing a todo. This allows you to use the power of your editor to e.g. syntax highlight the details, and etc.\n\n### Editor\n\nWhen editing a todo, `td <id> edit`, you can both specify the todo's `name` and the todo's `details` via options (see `td <id> edit --help`). If no option is specified, your todo will be opened in `vi` by default (your `environement EDITOR` will override this) where you can edit the todo's details. You can change the default editor by updating your config:\n\n```cfg\n[settings]\neditor: nvim\n```\n\n### Only list uncompleted todos\n\nWhen listing todos, by default td-cli will list both completed and uncompleted todos. If you want to only list uncompleted todos by default, then you can apply the completed config:\n\n```cfg\n[settings]\ncompleted: 0\n```\n\n### Group\n\nWhen listing todos, you have the option of specifying what group to list from:\n\n```bash\ntd -g my-group\n# or\ntd g my-group\n```\n\nIf no group is provided, `td` will list from the current default group. You can globally set the default group with:\n\n```bash\ntd g my-group preset\n```\n\nHowever, there's an option to set the default group per git project (this is not possible from the root config `$TD_CLI_HOME/.todo.cfg`).\nIn any root of your projects, you can create a `.td.cfg` config file to specify what group to default on (this will override the global default group):\n\n```cfg\n[settings]\ngroup: my-group\n```\n\nIf you run `td` within your git project, td will default to _my-group_.\n\nI recommend globally ignoring `.td.cfg` in `~/.gitignore`.\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A todo command line manager",
    "version": "2.2.1",
    "project_urls": {
        "Homepage": "https://github.com/darrikonn/td-cli",
        "Source": "https://github.com/darrikonn/td-cli"
    },
    "split_keywords": [
        "todo",
        "commandline",
        "td-cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e594ff5f0ac01971a3b5f46aa23a65e6a344d1ebc7a43309f868016029871126",
                "md5": "2bac603079e1dcdf69b40d62955fccf4",
                "sha256": "a693330035330ad67be2a973a547ecf10626b200039824348f889accef131942"
            },
            "downloads": -1,
            "filename": "td_cli-2.2.1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2bac603079e1dcdf69b40d62955fccf4",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.6",
            "size": 39542,
            "upload_time": "2024-03-23T12:55:31",
            "upload_time_iso_8601": "2024-03-23T12:55:31.050110Z",
            "url": "https://files.pythonhosted.org/packages/e5/94/ff5f0ac01971a3b5f46aa23a65e6a344d1ebc7a43309f868016029871126/td_cli-2.2.1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "46a81130833f797913b6d8bf70b45b47214c392ad0039bc36d36f56883f73a35",
                "md5": "43c82bb18d59cb4daeead6c993e23847",
                "sha256": "5c7f8e01f10e09eae89778196816e724b937ddcddab93931afdeb2c304ed830a"
            },
            "downloads": -1,
            "filename": "td-cli-2.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "43c82bb18d59cb4daeead6c993e23847",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 24331,
            "upload_time": "2024-03-23T12:55:33",
            "upload_time_iso_8601": "2024-03-23T12:55:33.343460Z",
            "url": "https://files.pythonhosted.org/packages/46/a8/1130833f797913b6d8bf70b45b47214c392ad0039bc36d36f56883f73a35/td-cli-2.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-23 12:55:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "darrikonn",
    "github_project": "td-cli",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "circle": true,
    "lcname": "td-cli"
}
        
Elapsed time: 5.32722s