A command line tool managing all sorts of TODO lists
pda is a command line tool used to manage useful lists in your daily ife - such as TODO, TOLEARN and TOREAD lists, etc. You can use it to create as many lists as you want.
$ sudo pip install pda
Or (but not recommended):
$ sudo easy_install pda
List names can be any string you want, personally I have todo, tolearn and toread as available list names. List data is always stored locally. And, depends on the Configuration Setting in your configuration file (~/.pdaconfig), list data can also be synced to Github Issue and accessed through pda; that is how you make your todo list(s) portable via web interface.
If no configuration file is provided, pda assumes it is to be used only locally; in other words, no data will be put on Github Issues.
For more detailed usage:
To add (-a option) a task in a list. If list with listname has not yet created, this command will automatically create such list in database. See example below:
# Command format: # # $ pda -a <task summary text> <-t PERIOD> <-p PRIORITY> <listname> # # ===> add a task in a list named <listname> # # <-t> specifies the time frame this task is scheduled to # allowed values are => d (day), w (week), m (month), s (season), y (year) # # <-p> specifies the priority of this task # allowed values are => 1 (low), 2 (medium), 3 (high), 4 (must), 5 (urgmust) # # For example: add a 'wash dishes' task with due time current 'day' and # priority 'must' in 'todo' list $ pda -a 'wash dishes' -t d -p 4 todo
All the attributes of a task can be changed to the specified values in the options. If a value with an option is not specified in the command, then the corresponding attribute of that task will stay unchanged.
# ===> remove all the tasks stored in database $ pda --clear # Command format: # # $ pda -r <N> # # ===> delete a task numbered <N> # # For example: remove a task with task number 5 $ pda -r 5 # Command format: # # $ pda -e <N> -s <task summary text> <-t PERIOD> <-p PRIORITY> <listname> # # ===> update a task numbered <N> in a list named <listname> # # <-s> specifies the NEW task summary # # <-t> specifies the NEW time frame this task is scheduled to # allowed values are => d (day), w (week), m (month), s (season), y (year) # # <-p> specifies the NEW priority of this task # allowed values are => 1 (low), 2 (medium), 3 (high), 4 (must), 5 (urgmust) # # <lisname> specifies the NEW list this task belongs to # # For example: edit/update a task number 3 with a new task summary # 'vacuum floor this week' and its due time to current week $ pda -e 3 -s 'vacuum floor this week' -t w
To list ALL the tasks stored in the database:
To list ALL the tasks belongs to the list named todo:
$ pda todo
To list ALL the tasks belongs to time frame month:
$ pda -tm
To list ALL the tasks which have priority urgmust (urgent must):
$ pda -p5
To list ALL the tasks which belongs to time frame week and have priority high and belongs to the list named toread:
$ pda -tw -p3 toread
Syncing Data With Github Issues
When pda is in remote mode, it can communicate with Github Issues to upload/download list data.
Once pda is in remote mode, you can only start using pda by downloading data from Github Issues to local data store first:
$ pda --start
Once you have finished using pda and want to upload all the data created during current section (between --start and --stop) to Github Issues, try:
$ pda --stop
pda can be configured by a configuration file named .pdaconfig reside in your home directory. If no such file is present, then pda simply use some default settings internally, and behave only in local mode; meaning data is only stored locally.
To make pda operate in remote mode (meaning the data is stored both locally and remotely on Github Issues), you need to set several parameters in the configuration file.
See an example configuration file below:
# a typical configuration file contains two sections: [pda] and [github] [pda] ; the local database where pda will store its data database-path = /tmp/.pdastore [github] ; username on github username = your_github_username ; the name of the repository where you want to store your list data repo-name = your_github_reponame ; authentication token for a Github application which pda will use ; to communitcate with Github Issues API, see link below: ; https://help.github.com/articles/creating-an-access-token-for-command-line-use auth-token = your_github_app_token
- Remove installing unittest2, since it’s not used at all by pda.
- Added --clear option to allow pda to remove all tasks stored.
- Improved configuration module for runtime usage.
- Sorted pda output based on DUE TIME, PRIORITY, LIST TYPE and TASK#.
- Completed syncing data section in README.rst.
- Refined README.rst to provide instructions for .pdaconfig file.
- Refined README.rst.
- Fixed broken reStructuredText.
- Removed unused import PdaConfig.
- Fixed sync_remote_dbstore method bug for transition between local mode and remote mode.
- Fixed max_task_number attribute getter for shelve is empty.
- Fixed format string bug (#50) to be compatible with python 2.6.
- Removed debugging assert statements.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|pda-0.1.9.1-py27-none-any.whl (16.8 kB) Copy SHA256 hash SHA256||Wheel||py27||Jul 6, 2014|
|pda-0.1.9.1.tar.gz (16.2 kB) Copy SHA256 hash SHA256||Source||None||Jul 6, 2014|