Skip to content
File system based database that uses python pickles
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
.travis.yml removed additional script and install keys from matrix Sep 25, 2018
LICENSE
MANIFEST.in
README.md
pickleshare.py
setup.cfg
setup.py
test_pickleshare.py

README.md

PickleShare - a small 'shelve' like datastore with concurrency support

Like shelve, a PickleShareDB object acts like a normal dictionary. Unlike shelve, many processes can access the database simultaneously. Changing a value in database is immediately visible to other processes accessing the same database.

Concurrency is possible because the values are stored in separate files. Hence the "database" is a directory where all files are governed by PickleShare.

Both python2 and python3 are supported.

Example usage:

from pickleshare import *
db = PickleShareDB('~/testpickleshare')
db.clear()
print("Should be empty:", db.items())
db['hello'] = 15
db['aku ankka'] = [1,2,313]
db['paths/are/ok/key'] = [1,(5,46)]
print(db.keys())

This module is certainly not ZODB, but can be used for low-load (non-mission-critical) situations where tiny code size trumps the advanced features of a "real" object database.

Installation guide:

pip install pickleshare

Or, if installing from source

pip install .
You can’t perform that action at this time.