Skip to main content

A module that installs a command line program to manage simple TODO lists

Project description

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.

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

py-todo-cli-0.1.5.tar.gz (8.5 kB view hashes)

Uploaded Source

Built Distribution

py_todo_cli-0.1.5-py3-none-any.whl (10.3 kB view hashes)

Uploaded Python 3

Supported by

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