gnucash automation (was: GDA: Status)

Christian Stimming stimming at
Tue May 27 05:36:25 EDT 2008

Am Dienstag, 27. Mai 2008 18:05 schrieb Graham Leggett:
> Derek Atkins wrote:
> > Nope.  Not a bug.  It's a design decision.  It has nothing to do
> > with DB "transactions"..  Instead it's a question of DB coherency.
> >
> > Basically, it's not supported for a user to modify GnuCash's data
> > store out from under the application.  Period.  End of discussion.
> > You're welcome to throw as many tantrums as you want on this topic,
> > but that's just the way it is and it's just the way it's going to
> > be for the forseeable future.  Sorry.
> Users needs win I am afraid, if necessary I'll patch gnucash to do it
> myself.
> > The GnuCash API requires no GUI.
> Is the API documented anywhere?

What the developers here mean by "the gnucash API" is all the source code that 
lives in src/engine/, also known as "the engine" here. Most of it is 
documented by doxygen comments in the source code. The source code in 
src/engine depends on glib, but it does not depend on gtk, which should 
underline the fact that this has nothing to do with GUI issues. The gnucash 
model of programming expects any non-GUI program to use the programming API 
that is offered by src/engine in order to open a gnucash data file, extract 
data from it, potentially modify its content, and maybe save it again.

The doxygen comments from source code result in the HTML pages here ; the src/engine/ content is listed here . There was this attempt 
a few years ago to write a non-GUI gnucash application by separating the qof 
layer, but it stalled, and IMHO the qof layer was not (yet) the correct layer 
to build a non-GUI application on. But the API is there and it exists in 
cleanly separated libraries, so there's no technical reason not to write a 
non-GUI program that uses src/engine/ for gnucash data file access but none 
of the GUI stuff.



More information about the gnucash-devel mailing list