simple, multi-backend key/value persistence for Python
Python
Latest commit ad6ecf4 Mar 27, 2012 @sampsyo basic readme
Permalink
Failed to load latest commit information.
README.rst
example.py
jsonshelve.py

README.rst

jsonshelve

A shelve-like key/value persistence API that uses JSON instead of pickle. This means that stored data structures cannot be arbitrary (pickleable) objects but must instead be simple data structures (lists, dicts, strings, ints, floats, null). But it also means that it's easy to use the data files from languages other than Python.

Backends currently exist for flat JSON files, pickle blobs (which is really useless), and SQLite. Backends should exist for LevelDB and DBM.

Goals include:

  • Many backends. Applications can choose based on performance and other constraints and switch later without pain.
  • Concurrency management & naive ACID in some form.
  • Single-codebase Python 2 and 3 compatibility.
  • Unicode keys?
  • Extra niceness for indexing and such?

Related Projects