{ "info": { "author": "adnymics", "author_email": "dev@adnymics.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Topic :: Database", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. image:: https://cdn.rawgit.com/adnymics/redicts/ebd9808f/docs/logo.svg\n :width: 55%\n\n\nA utility package to save arbitrary nested Python dicts and objects in Redis.\n\n|rtd| |nbsp| |travis| |nbsp| |coverage| |nbsp| |pypi| |nbsp| |pep8| |nbsp| |gplv3|\n\n.. |rtd| image:: https://readthedocs.org/projects/redicts/badge/?version=latest\n :target: http://redicts.readthedocs.io/en/latest/\n\n.. |coverage| image:: https://coveralls.io/repos/github/adnymics/redicts/badge.svg\n :target: https://coveralls.io/github/adnymics/redicts\n\n.. |travis| image:: https://travis-ci.org/adnymics/redicts.svg?branch=master\n :target: https://travis-ci.org/adnymics/redicts\n\n.. |pypi| image:: https://badge.fury.io/py/redicts.svg\n :target: https://badge.fury.io/py/redicts\n\n.. |pep8| image:: https://img.shields.io/badge/code%20style-pep8-green.svg\n :target: https://www.python.org/dev/peps/pep-0008\n\n.. |gplv3| image:: https://img.shields.io/badge/License-GPL%20v3-green.svg\n :target: https://www.gnu.org/licenses/gpl-3.0\n\n.. |nbsp| unicode:: 0xA0\n :trim:\n\nUsage\n=====\n\nThis package can be used to save arbitrary values in a hierarchy. Each element\nof this hierarchy is referenced by a dotted path like this: ``a.b.c``. When\nsaving a nested dictionary, its nested contents automatically get translated\nto such a dotted path by its string keys:\n\n.. code-block:: python\n\n # `23` can be read by specifying the path \"a.b.c\":\n {\n \"a\": {\n \"b\": {\n \"c\": 23\n }\n }\n }\n\nA special feature of this package is concurrent access: It can be safely used\nfrom more than one process. The locking implementation is also separated and\ncan be used on its own if desirable. Also, the implementation is clever enough\nto not require a global lock if changes are done in different parts of the\nhierarchy.\n\nYou can store every object in ``redicts`` that works with ``json.dumps()``.\n\nWhy?\n====\n\nWe use ``redis`` quite a lot in our day-to-day work and often want to share\nvalues between different (micro-)services. This package helps us to do that\nsafely and easily.\n\nDocumentation\n=============\n\nDocumentation can be found on ReadTheDocs:\n\n http://redicts.readthedocs.io/en/latest\n\nExample\n=======\n\nIf redis is started with default host/port/password, this should work:\n\n.. code-block:: pycon\n\n >>> from redicts import section\n >>> with section(\"a.b.c\") as sec:\n ... # Setting values:\n ... sec[\"my-value\"] = 42\n ... sec[\"my-part\"] = {\"key\": \"value\"}\n ...\n ... # Reading values:\n ... sec[\"my-value\"].val() # => 42\n ... sec[\"my-part.key\"].val() # => \"value\"\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/adnymics/redicts", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "redicts", "package_url": "https://pypi.org/project/redicts/", "platform": "", "project_url": "https://pypi.org/project/redicts/", "project_urls": { "Homepage": "http://github.com/adnymics/redicts" }, "release_url": "https://pypi.org/project/redicts/1.0.6/", "requires_dist": null, "requires_python": "", "summary": "Save arbitary nested python dicts and objects in redis", "version": "1.0.6" }, "last_serial": 4612349, "releases": { "1.0.3": [ { "comment_text": "", "digests": { "md5": "c5167ede6f25867fad51f2a9c791069d", "sha256": "f6931d65b354cdd4d06ae79a57c67c5150e7487784f3e08f2266dafeb52cbd33" }, "downloads": -1, "filename": "redicts-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c5167ede6f25867fad51f2a9c791069d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11413, "upload_time": "2018-01-10T12:58:28", "url": "https://files.pythonhosted.org/packages/bb/dc/91a47d39f79d40727e879d968a0711f01976a113d10809fbe46c898057fe/redicts-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "5338c9101bcb11d08458102e396bd41a", "sha256": "ee7a491cf6c92ac24b8a1b9f4cb15f2920ff537d5ec5cf23d18d97eef132c475" }, "downloads": -1, "filename": "redicts-1.0.4.tar.gz", "has_sig": false, "md5_digest": "5338c9101bcb11d08458102e396bd41a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11550, "upload_time": "2018-01-16T12:26:36", "url": "https://files.pythonhosted.org/packages/98/55/d3a66656fea01fe8d56f8d17e44c993ad5c063d2b9f32acd58344b049cf9/redicts-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "afe776887a7ae066de9ca712294951fc", "sha256": "bc343f576082e772b0154d299ee167f5bbf84260af96b8edcb05f3b853ee051e" }, "downloads": -1, "filename": "redicts-1.0.5.tar.gz", "has_sig": false, "md5_digest": "afe776887a7ae066de9ca712294951fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11635, "upload_time": "2018-02-20T16:01:11", "url": "https://files.pythonhosted.org/packages/ab/43/ae724c6fb7c486d9f0595b53249c19b380b638defc392b2394d79e0e8fad/redicts-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "23ba223293120b14d10796b4c9725034", "sha256": "e8fde689f72b3912af08fb4ba8ee0448d228e68eaaf96ca8050920563891769e" }, "downloads": -1, "filename": "redicts-1.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "23ba223293120b14d10796b4c9725034", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15529, "upload_time": "2018-12-18T14:06:08", "url": "https://files.pythonhosted.org/packages/c4/7d/83ecae0ada38f0c579f990f970d2705dfbe256cbccc704d689b2a58e0670/redicts-1.0.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d520de870f73314b808e9581dcea4872", "sha256": "97b46e3bfe437608fe64d765ed0a8ce4a7a159bcaa97a89c86a1d70beb288f7c" }, "downloads": -1, "filename": "redicts-1.0.6.tar.gz", "has_sig": false, "md5_digest": "d520de870f73314b808e9581dcea4872", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12697, "upload_time": "2018-12-18T14:06:09", "url": "https://files.pythonhosted.org/packages/d1/56/551968bbbedbfd268d0beb0e8365da8aeeda25b6d3ae34cccbdf18f2d64f/redicts-1.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "23ba223293120b14d10796b4c9725034", "sha256": "e8fde689f72b3912af08fb4ba8ee0448d228e68eaaf96ca8050920563891769e" }, "downloads": -1, "filename": "redicts-1.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "23ba223293120b14d10796b4c9725034", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15529, "upload_time": "2018-12-18T14:06:08", "url": "https://files.pythonhosted.org/packages/c4/7d/83ecae0ada38f0c579f990f970d2705dfbe256cbccc704d689b2a58e0670/redicts-1.0.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d520de870f73314b808e9581dcea4872", "sha256": "97b46e3bfe437608fe64d765ed0a8ce4a7a159bcaa97a89c86a1d70beb288f7c" }, "downloads": -1, "filename": "redicts-1.0.6.tar.gz", "has_sig": false, "md5_digest": "d520de870f73314b808e9581dcea4872", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12697, "upload_time": "2018-12-18T14:06:09", "url": "https://files.pythonhosted.org/packages/d1/56/551968bbbedbfd268d0beb0e8365da8aeeda25b6d3ae34cccbdf18f2d64f/redicts-1.0.6.tar.gz" } ] }