You will need python (2.6 and 2.7 are tested), qtalchemy, sqlalchemy (0.7x preferred), a python database driver, and PyQt4 or PySide. Refer to setup.py for a more complete list of dependencies.
It should be noted that while PyHacc is a fully functional system which is in production use for the author's personal use, it is primarily a demonstration and example of qtalchemy.
As of qtalchemy version 0.8.x, PyHacc uses PySide. To use PyQt4 instead of PySide, you must install from the source in the bitbucket repository. Install in the following way:
python qtbindings.py --platform=PyQt4 python setup.py build sudo python setup.py install
If using PyQt4, the qtalchemy library will also need to be switched to using PyQt4 in a similar way.
On linux, it should be sufficient to run:
python setup.py build sudo python setup.py install pyhaccgui --conn=sqlite://
The sqlite:// connection string will start pyhacc with a demo database.
It is recommended and most tested to use pyhacc with postgresql. To initialize a database:
createdb pyhacc pyhacc initdb postgresql://username:password@localhost/pyhacc # to run pyhacc connected to this database: pyhaccgui --conn=postgresql://username:password@localhost/pyhacc
Getting Started on Windows
Roughly speaking, the install proceeds as follows:
- Install python and easy_install
- Install PyQt (or PySide, if desired).
- easy_install sqlalchemy
- easy_install pyscopg2 # for postgresql support
- easy_install pyhacc
On your postgresql server, run the following command:
Initialize the data-set with the following command on the windows client:
c:\python27\python.exe c:\python27\scripts\pyhacc initdb postgresql://username:password@server/pyhacc
Create a windows short-cut with the following target for starting the program:
c:\python27\pythonw.exe c:\python27\scripts\pyhaccgui --conn=postgresql://username:password@server/pyhacc
- Python 3 support
- Transaction reverse & auto-balance with hot-keys
- Report improvements particularly in profit & loss reports.
- Additional calendar navigation features from qtviews.
- reports: balance sheet and profit & loss formatting with sorting and grouping flexibility
- reports: html export
- experimental flask http server code for viewing of reports
- switch to using PySide rather than PyQt4
- primitive calendar view for transactions (personally, I love it!)
- transaction tagging gui
- report changes with column width being propogated from on-screen lists to pdf versions
- factor out basic report code to qtalchemy
- bug fixes
0.6: First pleasantly usable version in production