[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