simple, multi-backend key/value persistence for Python
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
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