LinuxCommandLibrary

topydo

Manage todo lists from the command line

TLDR

Add a to-do to a specific project with a given context

$ topydo add "[todo_message] +[project_name] @[context_name]"
copy

Add a to-do with a due date of tomorrow with a priority of A
$ topydo add "(A) [todo _message] due:[1d]"
copy

Add a to-do with a due date of Friday
$ topydo add "[todo_message] due:[fri]"
copy

Add a non-strict repeating to-do (next due = now + rec)
$ topydo add "water flowers due:[mon] rec:[1w]"
copy

Add a strict repeating to-do (next due = current due + rec)
$ topydo add "[todo_message] due:[2020-01-01] rec:[+1m]"
copy

Revert the last topydo command executed
$ topydo revert
copy

SYNOPSIS

topydo [command] [options] [task description]

PARAMETERS

add [task description]
    Adds a new task to the list.

do [task number]
    Marks a task as completed.

list
    Lists all tasks.

del [task number]
    Deletes a task.

priority [task number] [priority]
    Sets the priority of a task.

edit [task number]
    Edits the description of a task.

context [task number] [context]
    Sets the context of a task.

date [task number] [date]
    Sets the date of a task.

DESCRIPTION

topydo is a command-line task management tool written in Python. It allows users to organize and manage their tasks efficiently using a simple and intuitive interface. It focuses on simplicity, allowing you to quickly add, complete, and list tasks from your terminal. Topydo stores tasks in a plain text file (usually `~/.topydo`) making it easy to back up and integrate with other tools. The design philosophy prioritizes ease of use, providing essential features for task management without unnecessary complexity. You can manage priority, dates or contexts for a task.

It's a lightweight alternative to more feature-rich task management applications and is especially useful for users who prefer a command-line workflow.

CAVEATS

Topydo relies on a simple text file for storage, which might be susceptible to data loss if not backed up. It lacks advanced features like collaboration or synchronization across multiple devices.

CONFIGURATION

Topydo's behavior can be customized by editing the `~/.topydo` file. This file typically contains settings such as the task list location and default priority levels.

For example, you may want to store the file on Dropbox or Nextcloud and synchronize between several devices. In this case you can point the filelocation in the configuration file.

HISTORY

topydo is written in Python, offering a cross-platform solution for task management. The exact development timeline is not easily available, but it serves as an excellent small solution in Python for task management.

SEE ALSO

task(1), todo.txt(1)

Copied to clipboard