Package: pda
pdais a command line todo list manager. Unlike other todo list tools,pdastrives to find a balance between usability and functionality: a todo list manager
should be easy to use and learn while offering enough features to accomplish what
has to be done and to support more advance (however convenient and useful) usecases.Featurespdais simple to use, yet more powerful than you think.CREATE tasksJust like any other todo list tool, you can add a task in a list. Use command:pda-a[task summary text]-t[due time frame]-p[priority] [name of the list]Option-tspecifies the due time frame for this task; only values amongd(due today),w(due this week),m(due this month),s(due this season) andy(due this year)
are allowed.Option-pspecifies the priority for this task; only values among1(low),2(medium),3(high),4(must do) and5(urgent and must do) are allowed.Positional argument[name of the list]specifies the name of the list this task belongs
to. The name can be any string you find appropriate, for exampletodo,toreadortohack; and it’s perfectly okay to have different lists exist at the same time.Option-t,-pand positional argument[name of the list]are alloptionalattributes of a task, they will beNoneif not provided. Option-a, however, is
compulsory to have a value.$pda-a'wash dishes'-td-p4todo$pda-a'house cleaning'-td-p5todo$pda-a'write a technical blog post'-tw-p2towrite$pda-a'read Free Fall'-tm-p3toreadLIST tasksTasks aresortedbydue time, then bypriority, then by alphabetical
order oflist namesand last bytask number, before listed on the command line.To listALLthe tasks, dopda:$pdaTASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================2housecleaningtododayurgmust1washdishestododaymust3writeatechnicalblogposttowriteweekmedium4readFreeFalltoreadmonthhighTo list onlytoreadlist’s tasks, dopda toread:$pdatoreadTASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================4readFreeFalltoreadmonthhighTo list the tasks due at theend of this month, usepda-tm:$pda-tmTASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================4readFreeFalltoreadmonthhighTo list the tasks with priorityurgent and must do, usepda-p5:$pda-p5TASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================2housecleaningtododayurgmustTo list the tasks due at theend of todayand have prioritymustand
belongs totodolist, usepda-td-p4todo:$pda-td-p4todoTASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================1washdishestododaymustUPDATE tasksOften, you might want to change the due time, priority, task summary, or even list it belongs
to of a task. You may do so with the following syntax:pda-e[task number]-s[new task summary text]-t[new due time frame]-p[new priority] [new list name]Option-especifies thetask number(the task id) of the task to be updated.Option-sspecifies the new task summary of the task to be updated. It should be aquoted
string(either double or single quote).Option-t, Option-pand positional argument[new list name]are identical as
those in theCREATE taskspart.If an option or argument is not provided in the command, then the value associated with that
option or argument will stay unchanged for that task.Let’s postpone thedue timeto the end of this season for task number 4:$pda-e4-ts$pdatoreadTASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================4readFreeFalltoreadseasonhighNow modify summary text oftask number 2:$pda-e2-s'clean study room'$pdatodoTASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================2cleanstudyroomtododayurgmust1washdishestododaymustNow modify several attributes oftask number 3:$pda-e3-td-p3todo$pdaTASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================2cleanstudyroomtododayurgmust1washdishestododaymust3writeatechnicalblogposttododayhigh4readFreeFalltoreadseasonhighFINISH tasksThe best part of a todo list tool is you can remove a task after you finish it:pda-f[list of task numbers]Now, say I have already finishedwash dishesandclean study roomtasks
therefore I would like to delete them from mytodolist:$pda-f12$pdaTASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================3writeatechnicalblogposttododayhigh4readFreeFalltoreadseasonhighSometimes, you might want to empty all your tasks and restart:$pda--clear$pdaTASK#SUMMARYLISTTYPEDUETIMEPRIORITY=========================================================Syncing Data With Github IssuesIt is also possible to make your todo list(s)portablethrough web interface!pdacan sync your local list data toGithub Issue;
The choice ofGithub Issuesis a nice one, since an issue tracker is also a todo
list manager!Github Issuesactually provides decent visualization over some
statistics of tasks. But, of course, you need to have a Github account before using
this feature.  In addition,pdaneeds to be configured to be inremote modeto communicate withGithub Issues. For more detail, seeConfiguration Settingsection.Oncepdais configured correctly, you can start usingpdaby downloading data
fromGithub Issuesto local data store:$pda--startAfter finishing usingpdain the current ‘session’ (all the updates in
between--startand--stopcommands) and want to upload the updates toGithub Issues, do:$pda--stopNow you shall see the exact same copy of your local list data shown onGithub Issues!Configuration Settingpdacan be configured by a configuration file named.pdaconfigreside in your
home directory. If no such file is present, thenpdasimply use somedefault settingsinternally, and behave only inlocal mode; meaning data is only stored locally.To makepdaoperate inremote mode(meaning the data is stored both locally and
remotely onGithub 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 datadatabase-path=/tmp/.pdastore[github]; username on githubusername=your_github_username; the name of the repository where you want to store your list datarepo-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-useauth-token=your_github_app_tokenInstall$sudopipinstallpdaOr (but not recommended):$sudoeasy_installpdaRelease History0.3.0.2 (2014-08-23)AddedLatest Release,Supported Python VersionandDownloadsshields.0.3.0.1 (2014-08-17)Added wheel universal support to both python 2 and 3.Fixed beta release date in HISTORY.rst.0.3.0 (2014-08-17)Added support to py33 and py34 without using2to3.Added testing support to py33 and py34 without using2to3.FirstBeta Release.0.2.1 (2014-07-13)Added –finish option; nowpdais feature-complete.Improved coding style forcontrol.pyby removing redundant if-else branches.Updated tool description.Improved unit test and test automation process.0.2.0 (2014-07-10)ImprovedpdaREADME documentation.0.1.9.1 (2014-07-06)Remove installingunittest2, since it’s not used at all bypda.0.1.9 (2014-04-27)Added--clearoption to allowpdato remove all tasks stored.0.1.8 (2014-04-26)Improved configuration module for runtime usage.Sortedpdaoutput based on DUE TIME, PRIORITY, LIST TYPE and TASK#.0.1.7 (2014-04-08)Completed syncing data section in README.rst.0.1.6 (2014-04-05)Refined README.rst to provide instructions for.pdaconfigfile.0.1.5 (2014-04-04)Refined README.rst.0.1.4 (2014-04-01)Fixed broken reStructuredText.0.1.3 (2014-04-01)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.0.1.2 (2014-03-31)Fixed format string bug (#50) to be compatible with python 2.6.0.1.1 (2014-03-30)Removed debugging assert statements.0.1.0 (2014-03-30)Birth!