aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/pickleshare/py2/README.md
diff options
context:
space:
mode:
authornkozlovskiy <nmk@ydb.tech>2023-09-29 12:24:06 +0300
committernkozlovskiy <nmk@ydb.tech>2023-09-29 12:41:34 +0300
commite0e3e1717e3d33762ce61950504f9637a6e669ed (patch)
treebca3ff6939b10ed60c3d5c12439963a1146b9711 /contrib/python/pickleshare/py2/README.md
parent38f2c5852db84c7b4d83adfcb009eb61541d1ccd (diff)
downloadydb-e0e3e1717e3d33762ce61950504f9637a6e669ed.tar.gz
add ydb deps
Diffstat (limited to 'contrib/python/pickleshare/py2/README.md')
-rw-r--r--contrib/python/pickleshare/py2/README.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/contrib/python/pickleshare/py2/README.md b/contrib/python/pickleshare/py2/README.md
new file mode 100644
index 0000000000..e8f60c3ecd
--- /dev/null
+++ b/contrib/python/pickleshare/py2/README.md
@@ -0,0 +1,42 @@
+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:
+
+```python
+
+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:
+
+```sh
+pip install pickleshare
+```
+
+Or, if installing from source
+
+```sh
+pip install .
+```
+
+