copycat is a simple, transparent, non-intrusive persistence library for python language. It’s released under BSD License
- Simple - you don’t have to learn an API. You can use it with just one line of code.
- Transparent - you don’t need to call any API functions, just your Object methods.
- Non-Intrusive - no inheritance, no interface.. only business code.
It is based on the techniques of system snapshotting and transaction journalling. In the prevalent model, the object data is kept in memory in native object format, rather than being marshalled to an RDBMS or other data storage system. A snapshot of data is regularly saved to disk, and in addition to this, all changes are serialised and a log of transactions is also stored on disk.
http://en.wikipedia.org/wiki/Object_prevalence
Simple, transparent, non-intrusive:
from copycat import init_system
wiki = init_system(Wiki(), "/path/to/somedir")
Check out how copycat works with this little 1 minute copycat tutorial and then...
It’s very important to know how copycat works, to use it. Check out copycat basics
copycat is a fairly new project. All kinds of contributions are welcome (code, tests, issues, documentation). We don’t have a mail list yet, so if you want to contribute feel free to send me an email at felipecruz@loogica.net
copycat code is hosted on bitbucket at: http://bitbucket.org/loogica/copycat/wiki/Home
Found a bug? http://bitbucket.org/loogica/copycat/issues?status=new&status=open