I recently added a bunch of new features to pyGTD:
-
Contexts
In the status line of a task, you can now tell pyGTD the appropriate
context for that task. For example, use "L=@Work" (L stands for
Location -- I'm running out of good abbreviations) to tell pyGTD that
the task should be done at work. You can specify multiple contexts by
separating them with commas. Contexts are inherited by subtasks unless
you override them. The default context is the empty string (""), and
context names are not case-sensitive.
In addition, you can now use -c or --context in the command line to
tell pyGTD which contexts to include in the todo list you're
generating. Again, multiple contexts can be provided, separated by
commas. If you want to include tasks with no specified context, include
an extra comma at the beginning or end of your context list (e.g.,
"-c,@Work").
-
Start date
In addition to being able to specify a lead time for a task (e.g.,
"S=3D") in the status line, you can also specify a specific start date
with "S=yyyy-mm-dd". I use this all the time as an electronic "tickler
file".
-
Adding new subtasks in the todo list
You can add new subtasks to a task in your todo list by typing them
directly into the notes field for that task. When you run pyGTD, they
will be added back into the appropriate project file, and the new tasks
will show up in your todo list as appropriate.
-
Prerequisites
You can now specify prerequisite tasks that must be completed before a
particular task will appear in the todo list. Prerequisites are
specified by the ID of the prerequisite task (e.g., "PRE=3,4" means
that tasks 3 and 4 must be complete before the specified task will
become active), and if the prerequisite is in a different project file,
the syntax is path/to/file|ID (e.g., "PRE=c:/gtd/projects/gtd.txt|5").
I try hard not to use this feature, but some people find it
indispensible.
-
Make edits in either the todo or the project
file
You'll notice that a four digit hex number is added as a CRC to each
status line (e.g., "CRC=2A43"). This enables you to make changes to
your tasks in either the project file or in the todo list, and pyGTD
can tell which one has changed.
-
Project comments
Any lines of text at the top of a project file before the first task
are treated as comments, and they are preserved. This is a good place
to write a quick note to yourself about the goal of the project, and
how you'll know when you're done.
-
Process multiple todo lists at once
Currently if you use the command-line interface to pyGTD, you must call
pyGTD once for every todo list you want to generate (e.g., once for
each context). As an advanced user feature, I've added an interface to
the todo() function in gtd.py that allows you to generate all your todo
lists in one pass, which is a lot faster. I'm planning to write a post
about how I use pyGTD to implement Getting Things Done, so if you wait
for that, more details will be provided.
I also completely revamped the way that pyGTD parses task and
project files, moving completely to regular expressions from the
state-machine hodge-podge I used before. This should make things much
more robust.
I have not updated the documentation yet, so consider this post a
documentation addendum.
Finally, I can now confirm that pyGTD runs unmodified under Windows,
Linux, and MacOS. As long as you have python 2.3 or better, you're
set.
If you're already using pyGTD, you may want to download a fresh copy (23k). And don't forget the original documentation.
Posted on 2005-Jan-07 | GTD | Link |
|
|