# topydo

> Console todo.txt manager with dependencies and recurring tasks

topydo is a free, open-source to-do list application for the console that reads and writes the todo.txt format. It uses tags inside the plain-text file to add due and start dates, dependencies between items and recurring items, and it can be run as one-off shell commands, as a prompt with auto-completion or as a text interface made of columns. It is written in Python and installed with pip.

- **Category:** To-Do List Apps
- **Made by:** Bram Schoenmakers (since 2014)
- **Website:** https://github.com/topydo/topydo
- **Runs on:** macOS, Linux, Windows
- **Facts last checked:** Oct 9, 2026

## Pricing

topydo is free to use.

- **Pricing model:** Free
- **Free plan:** The whole program is free and open source under the GNU General Public License v3, with no paid edition. It is installed from PyPI with pip.
- **Free trial:** None listed.

| Plan | Price | What you get |
| --- | --- | --- |
| Free | $0 | The full program with its command-line, prompt and column interfaces. Prompt mode, column mode and iCalendar output each need an extra pip dependency. |

Read from https://github.com/topydo/topydo on Oct 9, 2026. Prices change, so confirm with topydo before buying.

## Key features

- **Command line, prompt and column modes:** Runs as one-off shell commands, as a prompt with Tab auto-completion, or as a text interface of side-by-side columns with vim-like keys, where each column has its own filter and sort order.
- **Due dates, start dates and relative dates:** Due and start dates are stored as tags on the todo.txt line. When adding items you can type relative dates such as tomorrow, 1w or fri, which are written to the file as absolute dates.
- **Dependencies between items:** The dep subcommand links a parent item to child items that should be done first. A parent with open children is hidden from the default list, and a Graphviz Dot export can draw the dependency tree.
- **Recurring items:** A rec tag such as rec:1w creates a new instance of an item when it is completed, counted from the completion date or, in strict mode, from the original due date.
- **Filtering, sorting and output formats:** Filter expressions select items by text and by tag comparisons such as due:<today, and sort and group expressions order the result. The ls command can also output iCalendar, JSON and Graphviz Dot.
- **Backups and revert:** After each change topydo stores a backup of the todo and archive files, 5 by default, and the revert subcommand undoes the last command or a numbered earlier one.

## Good for

- People who keep tasks in a todo.txt file and work in a terminal
- todo.txt users who want dependencies and recurring items
- Keyboard users who want several filtered lists side by side

## Worth knowing

- Console only: there is no graphical, web or mobile app. The docs say there is no native Android build and describe running it under Termux.
- Column mode does not work natively on Windows; the docs point Windows users to Cygwin for it.
- Dependencies, recurrence and start dates rely on tags that, the README says, other todo.txt tools may not interpret properly.
- The documentation describes no sync feature, and releases are infrequent: PyPI shows 0.14 in December 2020, 0.15 in April 2025 and 0.16 in February 2026.

**Tags:** Open source, Tasks, Keyboard-first, Local-first

## Alternatives

- [Todo.txt](https://toolgpa.com/tools/todo-txt): Plain-text to-do list format with an open-source command-line tool. [Compare](https://toolgpa.com/compare/todo-txt-vs-topydo)
- [Taskwarrior](https://toolgpa.com/tools/taskwarrior): Free, open-source to-do list manager for the command line. [Compare](https://toolgpa.com/compare/taskwarrior-vs-topydo)
- [dstask](https://toolgpa.com/tools/dstask): Terminal task tracker with git sync and a markdown note per task. [Compare](https://toolgpa.com/compare/dstask-vs-topydo)
- [sleek](https://toolgpa.com/tools/sleek): Free, open-source todo.txt manager for Windows, macOS and Linux. [Compare](https://toolgpa.com/compare/sleek-vs-topydo)
- [Dooit](https://toolgpa.com/tools/dooit): Terminal to-do manager configured with a Python file. [Compare](https://toolgpa.com/compare/dooit-vs-topydo)

## Sources

The prices, plans, platforms and features above were read from these pages on Oct 9, 2026:

- https://github.com/topydo/topydo
- https://raw.githubusercontent.com/topydo/topydo/master/README.md
- https://raw.githubusercontent.com/topydo/topydo/master/docs/index.html
- https://raw.githubusercontent.com/topydo/topydo/master/CHANGES.md
- https://pypi.org/pypi/topydo/json
- https://api.github.com/repos/topydo/topydo
- https://api.github.com/repos/topydo/topydo/releases

Page: https://toolgpa.com/tools/topydo
Listed by ToolGPA (toolgpa.com).
