SigmaVirus24 edited this page May 23, 2012 · 8 revisions
Clone this wiki locally


Share this project using http://git.io/todo.py and this page using http://git.io/todo.py-wiki.

Example usage of commands can be found on the help page. Sample configuration files can be found on the config page. Explanations of configuration options can be found here.

Similarities to todo.sh

We have tried to almost entirely mimic todo.sh's behavior. It'll just be easier to list the differences.

Differences from todo.sh

  • If the todo.txt file is empty, todo.py will ignore it until it has to add something to the file. [11]
  • If you so desire, you do not need to have done.txt, report.txt, or todo.tmp files lying around your directories. [10]
  • Previously you would tell todo.sh to archive your todo.txt file which would move all the entries you had marked as 'done' to the done.txt file. I (sigmavirus24) decided it was just simpler for a new user to understand that what they mark as done will appear in the done.txt file.
  • Git integration is baked into the project from the start. This allows the script to manage a repository for your todo.txt files. This does not have to be used though. Simply use export USE_GIT=0 in your config file.
  • Exporting a sort command will not work. (i.e. TODOTXT_SORT_COMMAND)


"todo.sh is 14x slower than this impl on Cygwin, so I'm replacing it. Need the same output, though." - jvstein

Tips and Tricks

Python 3

If you would rather use python3 for your todo.py script, we support it! Just change the first line of the script from

#!/usr/bin/env python


#!/usr/bin/env python3

Assuming of course that you have python3 installed along with python2. If you only have python3 installed, you should not have to do this.


It is usually easier to simply install the script to a local directory like $HOME/bin so you can always make this executable from any directory by adding that path to your PATH variable, e.g. export PATH="$PATH:$HOME/bin".

[10] https://github.com/sigmavirus24/Todo.txt-python/issues/10
[11] https://github.com/sigmavirus24/Todo.txt-python/issues/11