Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

pypodo is a todolist tool which works with a .todo file at the root of the home directory. It has a mecanism of indexes and tags.

Project description

pypodo

pypodo (\pipudu\) is a pip package (or docker image if you want, see below!). It is a todolist tool which works with a .todo file at the root of the home directory. It has a mecanism of indexes and tags.

Install/Upgrade/Uninstall

:warning: Not compatible with python2 (deprecated), Use python3.

pip3 install pypodo #Installation, use pip if pip3 does not exist
pip3 install pypodo --upgrade #Upgrade, use pip if pip3 does not exist
pip3 uninstall pypodo #Uninstall, use pip if pip3 does not exist

https://pypi.org/project/pypodo/

Use

Usual commands are list/add/del/tag/untag

Other commands are help/backup/sort/find/crypt/decrypt

  • pypodo add "to do work #name_of_tag" : add one task 'to do work' with the tag 'name_of_tag'

  • pypodo add "to do other_work #name_of_other_tag" "to do other_big_work #name_of_other_tag" : add one task 'to do other_work' with the tag 'name_of_other_tag' and another task 'to do other_big_work' with the tag 'name_of_other_tag'

  • pypodo list : display the todolist with the index of each task

1 to do work #name_of_tag
2 to do other_work #name_of_other_tag
3 to do other_big_work #name_of_other_tag

The default color of the tags is green. When a task is tagged "#urgent" it will be colored in red. When the task has a date pattern like YYYYmmdd with a gap to current date less than seven days, it will be colored in yellow. If the date is greater than the current date, in red . See the Configuration to change the colors.

  • pypodo list "name_of_tag" : display the todolist filtered on the tasks tagged with 'name_of_tag'
1 to do work #name_of_tag
  • pypodo list "name_of_tag" "other_tag" : display the todolist filtered on the tasks tagged with both tags

  • pypodo del 2 : delete the task with index=2 of the todolist

  • pypodo del 1 2 : remove the 2 tasks (index=1 and index=2)

  • pypodo tag new_tag 1 : add the tag 'new_tag' to the task with index=1

  • pypodo tag new_tag 1 2 : add the tag 'new_tag' to both tasks index=1 and index=2

  • pypodo tag : display all tags of the todolist

  • pypodo untag new_tag 1 : remove tag 'new_tag' from the task with index=1

  • pypodo untag new_tag 1 2 : remove the tag 'new_tag' from both tasks index=1 and index=2

  • pypodo untag : display all tasks without tags

  • pypodo sort : reorder all tasks by index

  • pypodo backup : backup the actual .todo in a backup folder with a filename suffixed by a timestamp

  • pypodo find "t.*he" : filter the todolist on the parameter (regex format accepted)

  • pypodo crypt admin : crypt the todolist in the ~/.todo.crypt file with key "admin"

  • pypodo crypt : crypt the todolist in the ~/.todo.crypt file with key in the config file SYSTEM.key

  • pypodo decrypt admin : decrypt the crypted todolist in the ~/.todo.decrypt file with key "admin"

  • pypodo decrypt : decrypt the crypted todolist in the ~/.todo.decrypt file with key in the config file SYSTEM.key

  • pypodo help : display help message

  • pypodo : display help message

Screenshots

Example of commands

image

Color of tags at the 19/10/2020 : red alert for one task, yellow warning for the second, default for the third.

image

Configuration [optional]

You can customize the application with the ~/.todo.rc file. Create it if it does not exist and copy paste this content. The autosort option runs a pypodo sort after pypodo del.

#grey,red,green,yellow,blue,magenta,cyan,white only ;)
[COLOR]
alert = red
warning = yellow
info = green
index = blue
task = green
tag = cyan

[SYSTEM]
#debug,info,warning,error
messagelevel = info
#format double % character, use for warning and alert on dates
#formatdate = %%Y%%m%%d
#not modify if you use docker!
#todofile = /tmp/.todo
#todobackupfolder = /tmp/.todo_backup/
#use if your todofile is exposed
#key=admin

[FONCTIONAL]
#int values
periodalert = 0
periodwarning = 7
#tags with '#' and with a coma separation
alerttags = #urgent
#or True
autosort = False

Docker usage [optional]

If you want, you can use pypodo as a docker image.

Copy file docker-pypodo.sh on your PC. Give execution permission with chmod u+x ./docker-pypodo.sh Correct the two variables (optional) :

PYPODO_FILE=~/.todo
PYPODO_FILE_CRYPT=~/.todo.crypt
PYPODO_FILE_DECRYPT=~/.todo.decrypt
PYPODO_BACKUP=~/.todo_backup
PYPODO_CONFIG=~/.todo.rc

and test you app! :

./docker-pypodo.sh help

Replace pypodo with ./docker-pypodo.sh or use an alias (see below)

You can see the repo docker

Alias [optional]

You can use alias as

#uncomment if you use docker app only with the correct directory
#alias pypodo=~/docker-pypodo.sh
#for all apps
alias tl='pypodo list'
alias ta='pypodo add'
alias tt='pypodo tag'
alias td='pypodo del'
alias ts='pypodo sort'
alias tu='pypodo untag'
alias tb='pypodo backup'
alias tf='pypodo find'

to improve your efficiency!

File sharing [optional]

You can use the .todo.rc configuration file to change the path of your todofile. If you used a "cloud folder" as cozy drive, you can share your pypodo app between two or more computeurs!

Crypt/Decrypt [optional]

In case of sharing, you can improve security, and activate encryption of your .todo file. For that, juste add a SYSTEM.key in your .todo.rc file. If your todo file is empty or non-existent, no additionnal config is needed. If you have a non-empty todo file, run pypodo crypt and replace the content of todo file with the content of ~/.todo.crypt file. cp ~/.todo.crypt ~/.todo for example.

Changelog

3.0.0

  • Debug level
  • Crypt/Decrypt todofile

2.3.2

  • Code cleanup
  • Increased test coverage
  • Adding formatdate in configuration file
  • Documentation corrections

For contributors :construction_worker:

Go to CONTRIBUTING.md

Thanks to contributors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pypodo, version 3.0.0
Filename, size File type Python version Upload date Hashes
Filename, size pypodo-3.0.0-py3-none-any.whl (15.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pypodo-3.0.0.tar.gz (16.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page