Skip to content
A simple command line todo list manager which can be as powerful as you want it to be.
Branch: master
Clone or download
Latest commit abb442f Mar 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Update documentation Mar 16, 2019
source Update Mar 16, 2019
.gitignore Abandoning the .todo_datafile for a whole .toduh folder Jun 7, 2016 Merge branch 'master' into v3.2 Mar 16, 2019
LICENSE.txt Cleaner license (80 characters width) Dec 26, 2016 Clean documentation Jul 12, 2017


A simple command-line todolist manager which can be as powerful as you want it to be.

$ todo add "Fix the stuff"
$ todo
    1 | Fix the stuff
$ todo add "Fix the other thing"
$ todo
    1 | Fix the stuff
    2 | Fix the other thing
$ todo done 1
$ todo
    2 | Fix the other thing


pip3 install todocli

sudo would be needed for:

  • a system-wide installation (that is, without the --user flag)
  • the installation of auto-completion for the todo command



Running a development version

To run the program in development, clone the project (or download its zip) and go to the source directory. You can run the source by executing:


You can create a directory named .toduh in the source directory which will carry development-specific data as long as you run ./ from the source directory.


To run the tests, go the source directory and execute:


By default, this only launches the unit tests. There are also functional tests. The fonctional tests uses the files in tests/traces. These files contain a list of commands (lines introduced by $), each above the standard output they should produce. The functional tests run each of the commands in a subprocess and compare their output to the expected output. The test is ran on a new datafile each time, which doesn't affect the regular datafile.

To run the functional tests, use the -f option. The -a option runs both unit and functional tests. The -v option, when used with the functional test, prints the commands being executed.


Submit issues for bug reports or enhancement ideas.



You can’t perform that action at this time.