Skip to main content

Todo CLI

A simple command line Todo program written in Python. It allows you to categorize your tasks, add, remove and edit your tasks all from the command line.

Installation and setup

pip install py-todo-cli

The add and edit commands require that you have the VISUAL or EDITOR environment variables set to your preferred text editor

  • The script will default to vim if the VISUAL and EDITOR environment variables are empty
  • But this can cause issues on Windows where vim may not be available by default
    • In that case make sure to set your EDITOR environment variable to notepad or your preferred text editor
    • Installing vim is recommended though

Commands

Usage:
    todo
        [ -a | --all-unfinished-tasks ]
        [ -c=<val> | --category-name=<val> ]
        [ -t=<val> | --section-type=<val> ]
        [ -n=<val> | --num-of-tasks-to-list=<val> ]
        [ -i=<val> | --print-task-data-for-id=<val> ]
    todo 
        [ -a | --all-unfinished-tasks ]
        [ -c=<val> | --category-name=<val> ]
        [ -t=<val> | --section-type=<val> ]
        [ -n=<val> | --num-of-tasks-to-list=<val> ]
        [ -i=<val> | --print-task-data-for-id=<val> ]
    todo add
    todo add <category_name>
    todo done <task_id>
    todo done <category_name> <task_id>
    todo delete <task_id>
    todo delete <category_name> <task_id>
    todo edit
    todo edit <category_name>
    todo cats
    todo cats default <category_name>
    todo cats new <category_name>
    todo cats remove <category_name>

Options:
    -a, --all-unfinished-tasks
        List out archived tasks
    -c=<val>, --category-name=<val>
        The name of the category to list tasks for
    -t=<val>, --section-type=<val>
        Lists tasks from the given section type
    -n=<val>, --num-of-tasks-to-list=<val>
        The number of the highest priority tickets to print out [default: 3]

Basics

Using categories

todo cats

A category is where your tasks are stored

  • Create one like this

    todo cats new <your_category_name_here>
    
    • This creates a new directory ~/.todocli which contains the data for all your categories
  • You can also specify your default category

    todo cats default <your_category_name_here>
    
    • All relevant commands will use this default category if a <category_name> is not provided
  • You can see the current default category like this

    todo cats default
    
  • You can see all the available categories like this

    todo cats
    

Adding tasks to a category

todo add
  • Opens a file in your default text editor

  • In this file you can write your tasks in markdown bullet point format like this

    - This is my first tasks
    - This is the second task
        - This part will be kept as a part of the second task
    - This is the third task
    
  • The above example will create 3 new tasks

Task types

  • There are 3 types of tasks
    • unfinished
    • finished
    • archived
  • New rasks are added as 'unfinshed'
  • Tasks are changed to the 'finished' type once they are done
  • If tasks are deleted then they are changed to the 'archived' type

Listing tasks

todo
  • Lists the top 3 tasks in your default category. Each task will have 2 parts
    • ID - This is the identification of the task and can be used to set the task as done or delete it
    • Description - This is the text that you entered for your task
  • You can print all the tasks by using the -a flag
  • You can print tasks from another category by using the -c option
  • You can also print out the unfinished, finished or archived tasks using the -t option

Setting a task as finished

todo done <task_id>

Deleting tasks

todo delete <task_id>

Prioritization and editing the tasks

todo edit
  • Opens the list of tasks in the default category in your system's default text editor
  • In the file you can move the tasks from one section to another to change their type
  • Prioritization can be done by simply moving the tasks up or down
    • The order is respected when the tasks are listed using todo
  • You can also delete them if you want
    • Any tasks deleted from the unfinished or finished sections will be put in archived
    • Any tasks deleted from the archived section will be deleted permanently
  • The numbers in front of the tasks are the task IDs. Please do not edit them or else it may cause odd issues.

Metadata

Release files for py-todo-cli 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-todo-cli 0.1.5
File Size Uploaded Provenance Actions
py-todo-cli-0.1.5.tar.gz 8.5 kB Without provenance Details for py-todo-cli-0.1.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for py-todo-cli 0.1.5
File Interpreter ABI Platform Actions
py_todo_cli-0.1.5-py3-none-any.whl Python 3 none any Details for py_todo_cli-0.1.5-py3-none-any.whl

Total release size: 18.8 kB

Release files / py-todo-cli-0.1.5.tar.gz

Download URL py-todo-cli-0.1.5.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
67375e6e5e32ae0dce4e73e3001c3eaa5287a92a011896949185b8fa54d5bf9b
BLAKE2b-256 checksum
How to use checksums
5b42967673090e06aea44cf0d8ccdd53281e644c706a4153aec4602632d2d475
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.7.3

Release files / py_todo_cli-0.1.5-py3-none-any.whl

Download URL py_todo_cli-0.1.5-py3-none-any.whl
Size 10.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
534fd2ac5d8b783089766413ac5dd3f1f1f44b2cfb6b5f5715d3b244f272fa75
BLAKE2b-256 checksum
How to use checksums
ed8697241290f0e849e7612b84a2797db3c4c039b40b5f4d0534fa213c324e18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.7.3

Security for py-todo-cli 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page