[GSoC Proposal] Python scripting and reporting project

Rohan Kulkarni kulkarni.rohan.p at gmail.com
Thu Apr 7 17:26:57 EDT 2011


Hi,

I have made modifications, added some new features, edited the code 
migration part. Below is not the whole proposal, only the goals and 
their detailed description.

Goals:

1] Develop python scripts in gnucash to provide a python framework.
   To achieve the above goal, my aim is to focus on and enhance the 
current reporting system
2] Develop python scripts for importing/exporting customer information
3] Develop python scripts to enhance the budgeting system by adding 
graphical features
4] Develop python scripts to enhance the future scheduled transaction 
reporting
5] Export the report system, which defines modules that provide 
functionalities for report generation, to python
6] Develop more ideas to utilise the powerful python scripting to 
enhance the reporting system.

Detailed description:

-:- The aim of this project is to develop a python framework for gnucash 
which currently uses uncommon scheme scripting.
    A python scripting framework will enable a large set of developers, 
well versed with python than with scheme to enhance or to alter the 
system as per their requirements. Also migrating to python will provide 
a large set of capable functionalities for gnucash.
    Major part of the scripting work is in the reporting section. My 
goal is to add python features to the current prototype and to create a 
strong framework for further development.

-:- The initial goals are to add new user visible features, scripted in 
python. To start off, aim will be to provide options for 
importing/exporting the business contacts of the user. This will involve 
using the python library modules for import/export of data to/from csv 
format.

-:- The next goal is to enhance the current budget system. Aim is to add 
more graphical features to display budget reports. The current budget 
summary displays simple data, budget values and actual values, here the 
idea is to add horizontal bar-graphs to display them. I.e. display 
bar-graphs of budgets of individual accounts along with the bar-graphs 
of actual values. This will graphically give the user an idea of where 
and by how much margin the budget and actual values vary.

-:- The next goal is to add the feature of  forecasting of the accounts. 
User will be provided with and option to see the forecasts of the 
account balances based on his scheduled transactions list. My aim is to 
provide him with a graphs of forecast values of his account balances of 
his chosen account according to his chosen timeline. These will involve 
using the python graph plotting libraries. Currently gnucash just has 
the feature of a simple summary over a period. The graphical forecasting 
will enable the user to actually get an understanding of his future ups 
and downs in finances.

-:- Once these features are implemented, a small framework of user 
features using python scripts is ready. The next goal will be to migrate 
the report-system to python. This will define modules that will provide 
interface for all the report generation scripts.
    This will involve writing python scripts for report tables, 
bar-graphs, pie-charts, style-sheets and other related formats. The vast 
python module library will enable the reporting to include wide range of 
features. These scripts will provide functions that will be used by the 
report generating scripts to display report data as desired.
    Once this goal is achieved, a python framework for writing any 
python report scripts will be ready. All the reporting scripts can use 
the functionalities provided by this framework to create data and 
graphical reports.

* Once this report system is ported to python, test it thoroughly for 
proper loading and working of modules.

Deliverables:

1] A functionality of importing/exporting customer data in the business 
report system.
2] A enhanced budget reporting system.
3] A proper tested and working account forecasting system.
4] A proper tested and working report system which will facilitate 
python framework for report generation.

*Need some suggestions for improvements*

Thank you for reading.

Regards,
Rohan Kulkarni
IM, GTalk: kulkarni.rohan.p at gmail.com
IRC Nick: ahknor/rohan_k


More information about the gnucash-devel mailing list