Package: py-todo-cli
Todo CLIA 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 setuppip install py-todo-cliTheaddandeditcommands require that you have theVISUALorEDITORenvironment variables set to your preferred text editorThe script will default tovimif theVISUALandEDITORenvironment variables are emptyBut this can cause issues on Windows where vim may not be available by defaultIn that case make sure to set yourEDITORenvironment variable to notepad or your preferred text editorInstalling vim is recommended thoughCommandsUsage:
    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]BasicsUsing categoriestodo catsA category is where your tasks are storedCreate one like thistodo cats new <your_category_name_here>This creates a new directory~/.todocliwhich contains the data for all your categoriesYou can also specify your default categorytodo cats default <your_category_name_here>All relevant commands will use this default category if a<category_name>is not providedYou can see the current default category like thistodo cats defaultYou can see all the available categories like thistodo catsAdding tasks to a categorytodo addOpens a file in your default text editorIn 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 taskThe above example will create 3 new tasksTask typesThere are 3 types of tasksunfinishedfinishedarchivedNew rasks are added as 'unfinshed'Tasks are changed to the 'finished' type once they are doneIf tasks are deleted then they are changed to the 'archived' typeListing taskstodoLists the top 3 tasks in your default category. Each task will have 2 partsID - This is the identification of the task and can be used to set the task as done or delete itDescription - This is the text that you entered for your taskYou can print all the tasks by using the-aflagYou can print tasks from another category by using the-coptionYou can also print out theunfinished,finishedorarchivedtasks using the-toptionSetting a task as finishedtodo done <task_id>Deleting taskstodo delete <task_id>Prioritization and editing the taskstodo editOpens the list of tasks in the default category in your system's default text editorIn the file you can move the tasks from one section to another to change their typePrioritization can be done by simply moving the tasks up or downThe order is respected when the tasks are listed usingtodoYou can also delete them if you wantAny tasks deleted from theunfinishedorfinishedsections will be put inarchivedAny tasks deleted from thearchivedsection will be deleted permanentlyThe numbers in front of the tasks are the task IDs. Please do not edit them or else it may cause odd issues.