<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"
}