I am the author of ASynK (http://karra-asynk.appspot.com), a PIM sync tool and framework written in python that works across a variety of PIM providers such as Outlook, Google and BBDB. I am considering extending ASynK to do a bi-directional sync of Outlook tasks to Org Mode tasks. To be able to do this I need a working read/write API for reading and creating TODOs in org mode. *"Offline parsers"* My first preference is to be able to parser org files without required Emacs - this is the approach that I have implemented for BBDB sync. I considered PyOrgMode (https://github.com/bjonnh/PyOrgMode/network), but it appears unable to process TODOs, or even recurring events. To be able to extend PyOrgMode so I can read and write TODOs, I needed a full description of the format of TODO entries in all its forms. The Org manual itself has this information, I'm sure but scattered all over the place, given its real audience. Can someone point me to some sort of a concise representation, if any, of the org file format grammar? *org-protocol* * * By quickly reading the documentation I figured that org-protocol can be used to create entries, but is there a way to use it to do generic queries like "list all TODOs in a specified file, with a particular property value" and such? Any help is much appreciated. -Karra