Command Line Based Todo Script

Overview

Todo-CLI

Features

Full-Fledged Command Line Based Todo List with the following features planned:

  • Interactive Interface
  • OS Notifications
  • Save and Remove Todo
  • Persistent Todo Storage
  • Todo Data Encryption

To Run the Program

  1. Install dependencies
    pip install -r requirements.txt
    
  2. Run the Script
    python Main.py
    

To Use the Program

After following the above steps, you will be prompted to input a command into the command line. Currently, the following commands are available:

Add:

The 'add' command will add a new task to the todo list. It takes two required arguments - 'Todo Title' and 'Todo Description' - both of which should be enclosed in quotes if more than one word. For example:

add Word "This is a multi-word description so needs to be enclosed in quotes"

Will add a new todo with:

  • A title of 'Word'
  • A description matching the quoted section above
  • A deadline set to the current default of 1 minute

This brings us to the deadline argument. This optional argument sets a deadline for the todo item. Once this deadline is reached, you will be alerted to it by a notification through your operating system (examples shown below) and a message on the command line.

This deadline can be given in two different formats each with its own flag - if both are given, the --time argument will be used:

  • The --offset flag: How long, in minutes, after the task is added you would like to set the deadline for. Decimal values aren't required but they are supported. For example:
add "Adding a Deadline with the Offset Flag" "This todo item has a deadline set five and a half minutes from now" --offset 5.5
  • The --time flag: Will accept entries formatted "dd/mm/YYYY H:M". This sets the deadline for the specified date and time. For example:
add "Adding a Deadline with the --time flag" "This todo item will have a deadline of the 1st of Feburary 2022 at 3:30pm" --time "01/02/2022 15:30"

Note:

  • The argument is in quotes
  • There is a space between the date and time portions of the argument
  • All values are zero-padded - i.e. February is given as '02' not just '2'
  • The 'hour' portion of the time is given as a 24hr value

View:

The 'view' command will display all of your todo items in the command line. The items will be ordered according to their deadlines with the items whose deadlines are closest to the current time at the top of the list. There are currently no arguments required for this command so simply enter it in to the command line when prompted to do so.

view

Exit

To exit the program, and save your pending todos, in an encrypted file, simply enter the 'exit' command when prompted:

exit

--help

Entering an invalid command, or no command at all, will display usage instructions but this can be manually invoked with the --help command.

--help

To get the usage instructions for one of the commands mentioned above, pass --help as an argument to it. For example, to see how to use the 'add' command enter the following:

add --help

Sample Notifications

Notifications will look similar to the following:

Windows

Windows

Linux

Linux (linux)

MacOS

Mac

Maintainers

Contributors

Made with contributors-img.

Contributing

Thank you for your interest in contributing to our repo! Before making any PRs, we strongly suggest you go through our contribution guidelines to see how you can contribute to this project.

Hacktoberfest 2021

img

All of the valid PRs made to this repository before the 31st of October will be labelled with 'hacktoberfest-accepted'. For more rules visit the Hacktoberfest Website.

License

The code in this repo is licensed under the MIT license. Feel free to use and share it as per the license.


Who are we?

We are DSC-IIEST. Feel free to join our community here.

gdsc-iiest

Owner
DSC IIEST
DSC IIEST is the developer and tech community of IIEST Shibpur.
DSC IIEST
A terminal UI dashboard to monitor requests for code review across Github and Gitlab repositories.

A terminal UI dashboard to monitor requests for code review across Github and Gitlab repositories.

Kyle Harrison 150 Dec 14, 2022
Amazon Scraper: A command-line tool for scraping Amazon product data

Amazon Product Scraper: 2021 Description A command-line tool for scraping Amazon product data to CSV or JSON format(s). Requirements Python 3 pip3 Ins

49 Nov 15, 2021
doq (python docstring generator) extension for coc.nvim

coc-pydocstring doq (python docstring generator) extension for coc.nvim Install CocInstall: :CocInstall coc-pydocstring vim-plug: Plug 'yaegassy/coc-p

yaegassy 27 Jan 04, 2023
Simple CLI interface for linear task manager

Linear CLI (Unmaintained) Simple CLI interface for linear task manager Usage Install: pip install linearcli Setup: Generate a pe

Mike Lyons 1 Jan 07, 2022
MsfMania is a command line tool developed in Python that is designed to bypass antivirus software on Windows and Linux/Mac in the future

MsfMania MsfMania is a command line tool developed in Python that is designed to bypass antivirus software on Windows and Linux/Mac in the future. Sum

446 Dec 21, 2022
The command line interface for Gradient - Gradient is an an end-to-end MLOps platform

Gradient CLI Get started: Create Account • Install CLI • Tutorials • Docs Resources: Website • Blog • Support • Contact Sales Gradient is an an end-to

Paperspace 58 Dec 06, 2022
Openstack bucket retention cli

Openstack bucket retention cli

Fatih Sarhan 3 Apr 03, 2022
:computer: tmux session manager. built on libtmux

tmuxp, tmux session manager. built on libtmux. We need help! tmuxp is a trusted session manager for tmux. If you could lend your time to helping answe

python utilities for tmux 3.6k Jan 01, 2023
Python codecs extension featuring CLI tools for encoding/decoding anything

CodExt Encode/decode anything. This library extends the native codecs library (namely for adding new custom encodings and character mappings) and prov

Alex 210 Dec 30, 2022
A CLI minesweeper application written in 60 LoC python

This is a CLI minesweeper application written in 60 LoC python. You can use d row,column to dig and f row,column to flag/unflag

1 Dec 21, 2021
Display Images in your terminal with python

A python library to display images in the terminal

Pranav Baburaj 57 Dec 30, 2022
A library for creating text-based graphs in the terminal

tplot is a Python package for creating text-based graphs. Useful for visualizing data to the terminal or log files.

Jeroen Delcour 164 Dec 14, 2022
Convert shellcode into :sparkles: different :sparkles: formats!

Bluffy Convert shellcode into ✨ different ✨ formats! Bluffy is a utility which was used in experiments to bypass Anti-Virus products (statically) by f

AD995 305 Dec 17, 2022
GDBIGtools: A command line tools for GDBIG varaints browser

GDBIGtools: A command line tools for GDBIG varaints browser Introduction Born in Guangzhou Cohort Study Genome Research Database is based on thousands

广州市出生队列基因组学研究(The genomics study of BIGCS) 7 Sep 14, 2022
Python Library and CLI for exporting MySQL databases

expdb Python library and CLI for exporting MySQL databases Installation Pre-requisites MySQL server Python 3.9+ Using git Clone the repository to your

Devansh Singh 1 Nov 29, 2021
Output Analyzer for you terminal commands

Output analyzer (OZER) You can specify a few words inside config.yaml file and specify the color you want to be used. installing: Install command usin

Ehsan Shirzadi 1 Oct 21, 2021
GanTTY - Project planning from the terminal

GanTTY - Project planning from the terminal

Timeo Sam Pochin 161 Dec 26, 2022
jrnl is a simple journal application for the command line.

jrnl To get help, submit an issue on Github. jrnl is a simple journal application for the command line. You can use it to easily create, search, and v

jrnl 5.7k Dec 31, 2022
Vsm - A manager for the under-utilized mksession command in vim

Vim Session Manager A manager for the under-utilized `mksession` command in vim

Matt Williams 3 Oct 12, 2022
Postgres CLI with autocompletion and syntax highlighting

A REPL for Postgres This is a postgres client that does auto-completion and syntax highlighting. Home Page: http://pgcli.com MySQL Equivalent: http://

dbcli 10.8k Jan 02, 2023