DyBASE by Konstantin Knizhnik who developed a lot of embedded databases for multiple programming languages. It has transactions and indices. There are tests in the distribution and I use it myself for persisting elements in a Python Queue. My example is also available at github as python-persistence-queue