The program binary uses QtSql and does not rely on Python at all. Only
the database creation scripts use Python for convenience.
At first I was also using QtSql in the Python scripts, but realized
that it imposed to have the PyQt Python bindings installed in order to
compile Tagaini. On the other hand, the SQLite bindings are part of
the standard Python library, so using them requires no additional
dependency. Plus, under Python they are considerably (3 or 4 times)
faster than using PyQt. So as there were only advantages (faster
database creation, less dependencies, and cleaner interface), I
thought it was just plain useless to use PyQt in the Python code too.
In the future, I may also totally drop the use of PyQt in Tagaini in
favor of a custom database layer. I'm already using a dedicated SQLite
driver anyway (since Tagaini needs special SQLite features that are
not compiled by default), so QtSql is just used for its more
convenient interface over the C SQLite API.
Alex.