Cog: Simple Python Object Database

Cog is the Checkpointed Object Graph object database, providing semi-transparent persistence for large sets of interrelated Python objects. It handles automatic loading of objects on reference, and saving of modified objects back to disk. Reference counting is used to automatically remove no longer referenced objects from storage, and objects will be automatically be attached to the database if a persistent object references them.

Cog does not provide traditional transaction support. Instead, it provides only a way to flag the database as self-consistent, and guarantees that on system restart, the database will be restored to the most recent possible self-consistent state.

Cog was originally written by Oliver Jowett, but is currently being maintained by me and Bob Ippolito.


Cog requires Python 2.2 or later, and if you are running 2.2 PyBsddb (not required in 2.3 or later).

Cog-0.5.3.tar.gz -- fixes serious bug which could cause changes to objects to be lost.

Cog-0.5.2.tar.gz -- includes important bug fix to database initialization.


Cog-0.5.tar.gz (adds 2.3 support)



Older versions are available from original homepage, but they are not compatible.

Return to software