Easier custom reporting (maybe Lua)?
julien.cornebise at gmail.com
Sun Oct 23 10:56:56 EDT 2016
Thanks John. You summarise the situation pretty well: somewhat of a lack of
alignment between what I need and what the development team has time and
interest for. I've genuinely thought of contributing a PR, and spent a few
hours trying to find my way in the codebase some weeks ago, but to be frank
at this point this is above my coding skills -- unlike less mature projects
like MoneyManager EX, where I"ve been happy to contribute :
https://github.com/moneymanagerex/moneymanagerex/issues/934 (yet the code
quality there is not ideal, not enough to want to switch away from Gnucash).
I imagine the rather arduous aspect of Gnucash's code, and the diverging
interests of the dev team with some of the more mundane users, might be
what could push a user to write an external library. It's a bit sad: I'll
be writing my own external scripts (with the API or with PieCash) for
reports, but as you say these can't be integrated in Gnucash, and therefore
they will not be a contribution to the Gnucash ecosystem.
On Sun, 23 Oct 2016 at 15:48 John Ralls <jralls at ceridwen.us> wrote:
> > On Oct 23, 2016, at 3:46 AM, Julien Cornebise <
> julien.cornebise at gmail.com> wrote:
> > Dear Gnucash team
> > Is there a simpler way to build custom reports than learning Scheme?
> > what would it take to add Lua support?
> > I'm trying to create various custom reports on my account [to handle
> > accounts and shared expenses], and find it somewhat complicated -- eg.
> > compared with MoneyManagerX, which uses SQL+Lua (
> > https://github.com/moneymanagerex/general-reports).
> > I love GnuCash's precision and its ecosystem (great forum, great chat,
> > great doc), but would be so much happier if I could customise on a
> > and contribute back...
> The easiest way to generate custom reports is to save to SQLite and then
> query the database with SQL.
> There are also Python bindings to the GnuCash C API which you can use to
> query data and generate reports, or you can as Sebastian suggests use his
> PyCash python library to access the data.
> But if you want to add reports that are displayed inside of GnuCash then
> Scheme is at present the only way. We'd like to change that but there's a
> lot of work that has to happen first and there aren't a lot of people
> working on it.
> We're not at all interested in adding another interpreter to GnuCash; in
> the very long run we'd like to get rid of the one we have. API bindings are
> another matter, though. We use SWIG to generate the bindings, so if SWIG
> supports Lua it shouldn't be too hard to add Lua bindings. That still won't
> get access to the bits of GnuCash written in Scheme because SWIG only works
> on C and C++. The development team doesn't have time (or frankly interest)
> to do the work, but we'd be willing to consider a pull request.
> John Ralls
More information about the gnucash-user