The documentation hides this fact (I missed that) but actually python 2.3+ ships with the pybsddb module which has all the functionality you allude too. Check at the test directory for bsddb.
Michele Simionato -- http://mail.python.org/mailman/listinfo/python-list