Skip to content
/ topydo Public

A powerful todo list application for the console, using the todo.txt format.


Notifications You must be signed in to change notification settings


Repository files navigation

topydo - a powerful todo.txt application

Build Status Codacy Badge PyPI version

topydo is a powerful todo list application using the todo.txt format.

It has three user interfaces:

  • Command Line Interface (CLI) - originally inspired by the todo.txt CLI by Gina Trapani.
  • Prompt mode - a convenience mode for the CLI. Launch with topydo prompt.
  • Column mode - a text based user interface (TUI) with customizable columns and vim-like bindings. Launch with topydo columns.



Feature-wise, the todo.txt format is quite limited, but can be extended using tags. topydo natively supports some of these tags to implement:

  • Due and start dates;
  • Maintain dependencies between todo items;
  • recurring todo items;

topydo also offers:

  • Fine-grained control on sorting and grouping items;
  • Customizable output;
  • Some conveniences when adding new items (e.g. adding creation date and use relative dates);
  • Additional output formats to iCalendar, JSON and Graphviz Dot;
  • Aliases for frequently used commands.
  • Text based todo identifiers, which are more stable and convenient than line-based todo identifiers.

Yet, topydo is fully todo.txt compliant. The text file can be processed by other todo.txt tools (but they may not interpret the tags properly).

The documentation on the TiddlyWiki provides more information about the features and how to use topydo.


Simply install with:

pip3 install topydo

If you wish to use column mode: install additional dependencies with:

pip3 install topydo[columns]

Similarly, for prompt mode you can install additional dependencies with:

pip3 install topydo[prompt]


CLI mode: