Skip to main content

Icon



  

td-cli is a command line todo manager,
where you can organize and manage your todos across multiple projects

gif

Installation

td-cli only works for python 3, so it needs to be installed with pip3

pip3 install td-cli

Windows 10

In order to use the interactive mode on Windows, you'll have to install windows-curses

pip install windows-curses

In addition to that, Windows 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:

td group global preset

API

Check out the api.

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:

[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:

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:

[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:

[settings]
completed: 0

Group

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

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:

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):

[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.

Metadata

Release files for td-cli 2.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for td-cli 2.3.0
File Size Uploaded
td_cli-2.3.0.tar.gz 26.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for td-cli 2.3.0
File Interpreter ABI Platform
td_cli-2.3.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 67.2 kB

Release files / td_cli-2.3.0.tar.gz

Download URL td_cli-2.3.0.tar.gz
Size 26.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6bddea296ecd65188463f0b1c0d57ecca920fbbac4725fa06048fce62d0abd95
BLAKE2b-256 checksum
How to use checksums
79e28019b6a81389389a5faf9837ffe6c72744443d45f9d513f4f75cbaac6769
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.11

Release files / td_cli-2.3.0-py2.py3-none-any.whl

Download URL td_cli-2.3.0-py2.py3-none-any.whl
Size 41.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
263561281565a3693a842dc0b4509144d1db3afd8a44d4bb6608c1fa16d49e01
BLAKE2b-256 checksum
How to use checksums
9b556867db8ebddfebdefc847763e56ed0b7050564fdb20f8522e1e1b055f329
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

2.3.0 This release

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.3.0

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page