I should take a look at that. Could be simpler than Shelve and more flexible than Metakit. I don't really need transactions for many purposes, I can easily live with the checkpoint technique.

At PyPI recent updates there is the original article.