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?
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.