In boodebr.sql, sqliteConn was added with the same API as sqliteQ, for non-threaded use. In boodebr.util.locking, the .lock suffix is added to lockfiles so it is easy to find them.
A new module boodebr.util.locking provides multi-thread/multi-process cooperative locking. boodebr.config has been updated to use locking. boodebr.sql2 was added, with a focus on portable SQL semantics and stability under load. A new module boodebr.util.threadQ provides queues for thread-safe serialization of method calls.
This release adds pickling of complex numbers in
boodebr.ion and makes
boodebr.gui more friendly for py2exe usage by
embedding built-in images
via img2py.
Table-alteration methods were added to
boodebr.sql.sqliteQ. These methods provide
functionality that is missing in SQLite's native
"ALTER TABLE" routine, including modifying and
deleting columns from a table.
This release adds boodebr.sql.sqliteQ, a multithreading-safe wrapper for pysqlite. It has a new boodebr.util.guid module for creating unique IDs. There are other small fixes and cleanups.