Python bindings: patch, documentation, examples

Geert Janssens janssens-geert at
Mon Jan 13 12:03:58 EST 2014

On Sunday 12 January 2014 20:14:11 John Ralls wrote:
> On Jan 12, 2014, at 11:22 AM, Henning Jacobs <henning at> wrote:
> > IMHO the Python bindings are a really great way of enhancing the
> > GnuCash functionality without having to code C/C++ (I would not be
> > very productive with it...)
> Unfortunately Python isn't a very good built-in scripting language,
> and supporting it on Mac and Windows is a serious PITA. Guile is
> better, except the number of Scheme programmers loose in the world is
> pretty small. For the foreseeable future I'd expect that any code
> accepted into GnuCash itself will have to be C/C++ or Scheme, with a
> very strong preference for C++.
My long term vision goes even further: I would like to bring the current scheme dependency 
down to becoming optional at some point. The core functionality should not depend on guile 
nor python. But both languages can be used to extend the core functionality. All data structures 
that are currently maintained in guile (like the options for example) should be implemented in 
C/C++ IMO.

I'm aware this is a bold claim, particularly given the current report system is mostly written in 
guile. But in a wider scope the report system could be considered optional in itself. None of the 
report options are stored in the gnucash data file. It's saved in separate meta files. It's mostly a 
gui-only extension of gnucash.

> > I will properly write more code in the near future using the Python
> > bindings --- I would also gladly help extending/improving the
> > current
> > code base and/or documentation :-)
> Rather than extending the current wrappers, I think we need to work
> out a reasonable public API that properly hides the implementation.
> The current policy of "open kimono" would be a serious constraint on
> further development if there was a bunch of external code that we had
> to be worried about not breaking. The way some of the code flips back
> and forth between C and Scheme is pretty bad already.
This flipping back and forth is part of what I want to get rid of. So I'm all for a reasonable public 


More information about the gnucash-devel mailing list