python + Xml + GnuCash

Dave Reed drlinux at columbus.rr.com
Wed Mar 3 19:55:43 EST 2004


On Wednesday 03 March 2004 08:40, Somesh Bartakkay wrote:
> GnuCash -- popular accounting s/w is developed with c+Gtk+XML.
> if i wanna develope application like gnuCash which handles flat file
> database ::
> 
> 1.weather it is wise decision to develope in python ? which is
> prefered GUI from wxPython, PyGTK ? and Why ?
> Shall i code wxPython in FUNCTIONAL programming way(nON Object
> oriented) ?
> 
> 2.weather i should go with XML or python's flatDB module which handles
> flat file databse from python for storing data.
> 
> 3.how i shold encrypt/decrypt my data which is going to store in
> datafiles-- thru pythons..keep in mind that application performance
> should b fast6..

Here's my experience:

I've written a 24,000 line Python program that's a patient
database/accounting program for an optometric/optician office. It uses
PostgreSQL as the database to store all the data. Since most of the
data processing is done by SQL commands it is plenty fast. It contains
over 10,000 patients and 16,000 transactions right now. Doing many of
the data tabulations would most likely be too slow if all the code
were written in Python. And of course using a real database allows
committing/rolling back a number of SQL statements at once and the big
one for this application is allowing multiple users.

I used PyGtk - used Glade to design each window. There are separate
window for entering patient info, frames, professional fees,
frame/lens purchase with Rx, reconciling insurance payments, tracking
the cash register contents and bank deposits, etc. 41 windows in total
I think.

I find Gtk to be fairly intuitively obvious, but Qt didn't immediately
make sense to me so I stuck with it. Plus when I started trying to
choose between Gtk and Qt, Qt had some licensing issues.

So if I were doing it, I'd do exactly what I did for the above
program. I wouldn't bother with encrypting the data - use PostgreSQL's
data security.

I've been using gnucash for over a year now and it does what I want
for the most part. I would like better tracking of investments, but
I'm not a guile/scheme programmer. I toyed with the idea of ripping
out the transaction code from my above program (it does true
double-entry accounting with split transactions) but realize how much
work it would be and also I need to learn a little more about how the
best way to track investment gains and losses. I've thought about
getting a book on how to use QuickBooks and see if it helped but I
haven't gotten around to it yet.

Dave







More information about the Python-list mailing list