Skip to content

svetlyak40wt/gtdzen

Repository files navigation

GTDzen

This is a simple but flexible library and application to realize Getting Things Done method by David Allen.

GTDzen is based on a simplicity, so you'll not find any projects, contexts or areas of responsibility. I'm sure, that all you need is smart tagging and correct priorities, I call it - "Tagged GTD Workflow".

Installation

First of all, you need to install all requirements. Next, you can install gtdzen.

If you install from the source, run python setup.py install.

If you wish to install from the PyPi, use easy_install gtdzen or pip install gtdzen.

Tutorial

There is only command line interface right now. But I'll be happy if somebody helps me to build a GUI for Mac OS X.

I use such aliases in the ZSH/BASH:

alias gtshow='gtd show'
alias gtwork='gtd show today,work'
alias gthome='gtd show today,home'
alias gtlate='gtd show -today'
alias gta='gtd add'
alias gtdone='gtd close'
alias gtu='gtd update'

(This package includes 'aliases' file. You can "source" it in your shell's config.)

Using these aliases, you can quickly update and process your task list. For example:

Lets fill our task list:

# gta "To write setup.py script" 10 today,project,python
# gta "Add a new field to the model and update database schema." 8 today,project,python
# gta "Find how to use sqlachemy-migration and sqlite" 5 project,python

Now you can list tasks for today:

# gtshow today
1 "To write setup.py script" / 10.0 (project, python, today)
2 "Add a new field to the model and update database schema." / 8.0 (project, python, today)

Here, you can see two opened tasks for today, sorted by priority. Lets close first task:

# gtdone 1
Task 1 was closed
# gtshow today
2 "Add a new field to the model and update database schema." / 8.0 (project, python, today)

If you need more tasks, than you can look at tasks not planned for today, and update tags accordingly to your workflow:

# gtshow -today
3 "Find how to use sqlachemy-migration and sqlite" / 5.0 (project, python)
# gtu 3 - - -project,read,today,internet
Task "Find how to use sqlachemy-migration and sqlite" / 5.0 (internet, python, read, today) was updated

The command 'gtd update' accepts almost the same parameters as 'gtd add' command, with few exceptions:

1 At first place, you must pass task or tasks numbers. If you update many task, than it must be a comma separated list, like this one: 1,5,3 2 If you don't want to change title, priority or tags, just pass minus symbol instead of them. 3 With 'update' command for add or remove tags. To add a new tag, just pass it's name as usual. To remove, add a prefix -.

Ok, it's all. Have a fun and build your own tagged GTD workflow.

Configuration

You can specify some configuration options through 'config' file.

By default, 'gtd' searches options in ~/.gtdrc file, but for can specify another location, using command line argument --config.

Here is default config with some comments:

[gtd]
# Path to database
database = ~/.gtd/todo.sqlite

# Enable or disable daily backups
backup = false

# Where to place backup
backup_dir = ~/.gtd/backups

TODO

  • automatic database migrations.
  • bash/zsh autocomplete.
  • task annotations.
  • import/export to/from some XML format.

License

This code is licensed under the New BSD License. See more details in the LICENSE file.

Contacts

My name is Alexander Artemenko. Feel free to contact me by email or jabber: svetlyak.40wt@gmail.com.

Also, you can clone this project at GitHub and send me patches.

Bitdeli Badge

About

Simple but flexible Getting Things Done application.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages