Skip to content

davidjo/gnucash_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is an alpha alpha implementation of report writing in python
Three existing reports "functioning" - hello_world example, price_scatter and cash_flow

Functioning means a report page is displayed which can be exported as html.
Coding primarily based on scheme at the moment for testing and comparing to the scheme way
- this is not necessarily the most "pythonic" way

Major update to work with gnucash 3.2 and python 3

Requirements:

swig
python 
python introspection bindings to gtk version 3
python gobject/glib bindings
python elementtree module
gnucash python bindings

The git source should be stored in a directory called python under ~/.gnucash.
The git branch release is the minimal files needed for working, master is all
files including implementations which failed or been superseded.

Implementation needs 1 compiled module, swighelpers.so plus introspection bindings
for 15 gnucash gobjects, built under plugin/gir_build.
The directory ~/.gnucash/python/plugin should be copied
to the primary gnucash source under gnucash/python as a subdirectory.
The shared objects (.so) need to be copied back to ~/.gnucash/python after compilation.
The introspection binding typelibs need to be copied back to ~/.gnucash/python/girepository.

Makefile.wrap is defined which is designed to be run in an existing gnucash source
after a full compilation step

to compile: make -f Makefile.wrap release

to build introspection bindings in plugin/gir_build: make -f Makefile.wrap_gir repository

Three defines required
- PYTHONPREFIX - path to your python installation
- PYTHONVER - python version eg python3.6 for 3.6 version of python
- SWIG - path to your swig binary

HTML output is via python wrappers access to the gnucash webkit output functions
python elementtree module used as document model for HTML output

The python modules are designed to work from a ~/.gnucash/python directory
ui files need to be copied into a ~/.gnucash/ui directory

A modified main gnucash installation share/gnucash/init.py is needed which loads
from a local_init.py file installed in ~/.gnucash/python
- after local_init.py loaded all other python modules loaded from ~/.gnucash/python

PRELIMINARY PARTIAL WORKING ONLY!!

only partial implementation of report options
only partial implementation of style tables

modified option saving not working/tested
modified report saving not working/tested

About

gnucash report writing in python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published