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.
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
Raw data
{
"_id": null,
"home_page": "https://github.com/pickleshare/pickleshare",
"name": "pickleshare",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "database persistence pickle ipc shelve",
"author": "Ville Vainio",
"author_email": "vivainio@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz",
"platform": "",
"description": "PickleShare - a small 'shelve' like datastore with concurrency support\n\nLike shelve, a PickleShareDB object acts like a normal dictionary. Unlike shelve,\nmany processes can access the database simultaneously. Changing a value in \ndatabase is immediately visible to other processes accessing the same database.\n\nConcurrency is possible because the values are stored in separate files. Hence\nthe \"database\" is a directory where *all* files are governed by PickleShare.\n\nExample usage::\n\n from pickleshare import *\n db = PickleShareDB('~/testpickleshare')\n db.clear()\n print(\"Should be empty:\",db.items())\n db['hello'] = 15\n db['aku ankka'] = [1,2,313]\n db['paths/are/ok/key'] = [1,(5,46)]\n print(db.keys())\n\nThis module is certainly not ZODB, but can be used for low-load\n(non-mission-critical) situations where tiny code size trumps the \nadvanced features of a \"real\" object database.\n\nInstallation guide: pip install pickleshare\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Tiny 'shelve'-like database with concurrency support",
"version": "0.7.5",
"split_keywords": [
"database",
"persistence",
"pickle",
"ipc",
"shelve"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "7c68934703b75ccfbaad00d1210f7011",
"sha256": "9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"
},
"downloads": -1,
"filename": "pickleshare-0.7.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "7c68934703b75ccfbaad00d1210f7011",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 6877,
"upload_time": "2018-09-25T19:17:35",
"upload_time_iso_8601": "2018-09-25T19:17:35.817654Z",
"url": "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "44ab782615894a812ab96669a122a634",
"sha256": "87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"
},
"downloads": -1,
"filename": "pickleshare-0.7.5.tar.gz",
"has_sig": false,
"md5_digest": "44ab782615894a812ab96669a122a634",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6161,
"upload_time": "2018-09-25T19:17:37",
"upload_time_iso_8601": "2018-09-25T19:17:37.249381Z",
"url": "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2018-09-25 19:17:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "pickleshare",
"github_project": "pickleshare",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"lcname": "pickleshare"
}