Muller's World

Mike Muller's Homepage
NewsSoftwareMusicAbout Me

ODB - an Object Database Front-end for Python

ODB is a front end to three different data storage engines. One of them is BDB (Berkeley DB), the other two are memory resident databases like BDB only written entirely in Python (and included with this package - BDB and bsddb3 are separate installs).

The interface is very BDB-ish, only a lot cleaner. ODB tries to hide a lot of the grisly guts of the database interactions from the user.

Downloads

odb 0.3 2008-05-03
  • Switched license to LGPLv3.

  • Re-wrote the b-tree code from the ground up.

  • Implemented "blists" - btree implementation of a random-access sequence.

  • Documentation improvements.

odb 0.2 2008-01-19
  • Fixed several cases where a b-tree wasn't demand loading a node before performing some action on it.

  • Differentiated between a key of None and an empty key (""), allowing empty keys to be used.

  • Fixed the use of the key's reference count (it wasn't getting incremented when the key was reused)

  • When replacing a node, the original node wasn't getting marked deleted. Fixed this.

  • The full back-end wasn't building the dictionary of all of the tables during initialization, causing exceptions while processing the transaction log if the last log didn't also create the table. Fixed this.

  • Added numerous test cases to exercise all of these fixes, including an "update" action in the test of 1000 random actions.

odb 0.1 2008-01-13

Initial release.