A simple terminal task tracker in python.
A project from: https://roadmap.sh/projects/task-tracker
- add: add a new task.
- update: update description of the task with specific id.
- delete: remove task/tasks with specific ID/IDs.
- list: show all tasks with specific status.
- mark: change the status of task with specific id.
- rearrange: rearrange task IDs and print them.
- Clone the repository:
git clone https://github.com/eqsdxr/cli-task-tracker.git
- Navigate to the project directory:
cd task-tracker
- Ensure you have Python installed. This project is compatible with Python 3.x.
Run the script from the command line with the appropriate command and arguments:
- add:
python task_tracker.py add "Task Description" "optional_status"
- default status: todo
- update:
python task_tracker.py update task_id "New Description"
- delete:
python task_tracker.py delete task_id python task_tracker.py delete id1.id2.id3
- task IDs remain unchanged.
- You can delete multiple tasks by specifying a range or list of
task_ids
, separated by dots (e.g.,0.1.2.3.4
). The order of indexes doesn't matter.
- list:
python task_tracker.py list [status]
- If
status
is omitted, all tasks will be listed.
- If
- mark:
- default status: None
python task_tracker.py mark task_id new_status
- rearrange:
python task_tracker.py rearrange
- WARNING:
- If you modify the JSON file yourself, make sure you do it correctly and keep a backup, any syntax mistakes could cause the JSON to be overwritten.
-
To add a new task:
python task_tracker.py add "Finish the report" "in-progress"
-
To list all tasks:
python task_tracker.py list
-
To update a task:
python task_tracker.py update 0 "Complete the report"
-
To delete a task:
python task_tracker.py delete 0
-
To mark a task as completed:
python task_tracker.py mark 0 completed
- json file will be created if it doesn't exist.
This project is licensed under the MIT License - see the LICENSE file for details.
Feel free to use, modify, or distribute this project as you wish. Contributions are not required.
For any questions or feedback, please open an issue in the GitHub repository or contact [email protected].