Skip to main content

A python TUI todo app

Project description

Todol - Python TUI ToDo app

Installation

pip install todol

todol is a terminal application. I recommend installing it with pipx.

More Info

Demo

Running

Run from anywhere in your terminal

todol

Additional flags

View all flags (for more options):

todol-help

Check the current version:

todol-version

See where todo files are saved:

todol-path

Update todol with a single command

This runs pipx upgrade todol under the hood.

todol-upgrade

COMMAND GUIDE

 Command     Alias      Action          Usage 

 add         a       Add new task       add [task]
 done        d       Mark task done     done [id]
 list        l       Show todo list     list
 remove      rm      Remove task        rm [id]
 edit        e       Edit task          edit [id]
 clear       c       Clear done tasks   clear
 help        h       Show help          help
 reload    reset     Reload the app     reload
 exit        0       Exit app           exit

Pro Tips:

  • You can use Tab for autocomplete.
  • Navigate the terminal efficiently: arrow keys, backspace, and delete all work.
  • You can execute multiple commands at once:
    • all - apply the command to all items

    • id-id – apply the command to a range of IDs

    • id1 id2 id3 – apply the command to specific IDs

examples:

done all       # marks all tasks as done
remove 4-7     # removes tasks with IDs 4 through 7
rm 3 5 8       # removes tasks 3, 5, and 8

FAQ

Where are the saved todo files stored?

You can simply check it by running todol-path

todol stores its data using platformdirs.user_data_dir, which means files are written to the standard user data directory for each operating system.

Default locations

  • Linux ~/.local/share/todol/todoFiles/

  • macOS ~/Library/Application Support/todol/todoFiles/

  • Windows %APPDATA%\todol\todoFiles\

Hotkeys are available!

Cursor navigation

Key Action
Ctrl‑a Move cursor to beginning of line
Ctrl‑e Move cursor to end of line
Ctrl‑f Move cursor forward (right)
Ctrl‑b Move cursor backward (left)
Alt‑f Move forward one word
Alt‑b Move backward one word
Home Go to start of line
End Go to end of line

Editing

Key Action
Ctrl‑d Delete character under cursor
Ctrl‑h / Backspace Delete character before cursor
Alt‑d Delete word forward
Ctrl‑k Kill (cut) text to end of line
Ctrl‑y Yank (paste) killed text
Ctrl‑t Transpose characters

History

Key Action
Ctrl‑p Previous history item
Ctrl‑n Next history item

Searching

Key Action
Ctrl‑r Reverse search history
Ctrl‑s Forward search history (may be intercepted by terminal flow control)

Completion & Accept

Key Action
Tab Trigger completion
Ctrl‑Space Start/advance completion
Enter Accept input

Misc

Key Action
Ctrl‑c Cancel / raise KeyboardInterrupt
Ctrl‑z Suspend (depends on shell)
Escape Escape/Meta prefix for Alt‑ combos
Arrow keys Move cursor up/down/left/right

For the full official key binding documentation, check the prompt_toolkit docs: prompt_toolkit GITHUB

Support

If you find this project helpful and would like to support its development, you can make a donation via the following method:

Your contribution helps in maintaining and improving the app. Thank you for your support!

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

todol-0.3.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

todol-0.3.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file todol-0.3.0.tar.gz.

File metadata

  • Download URL: todol-0.3.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for todol-0.3.0.tar.gz
Algorithm Hash digest
SHA256 21fa58704d84af9dc340d2309b9d1a8ede5c9680f02cc97638a616f4b151da9d
MD5 d21cd25d53bb47038aacf73461f0c580
BLAKE2b-256 3d8283453d925a6bd3e04bc6460091a04086b519acc26e602e98e191c82919ab

See more details on using hashes here.

File details

Details for the file todol-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: todol-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for todol-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a720de53ff924a5d12a14a493f31beea2e07afc420b8c51448d2952531275af
MD5 0cb9318e67701b901d7ca83193371fa6
BLAKE2b-256 f966a15a2701709fc027d143f531cdeb595305c3b4bb57b189eae760601ebd88

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page