{ "info": { "author": "Ahmed Hefnawi", "author_email": "me@ahmedhefnawi.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "[![Build Status](https://travis-ci.org/hefnawi/json-storage-manager.svg?branch=master)](https://travis-ci.org/hefnawi/json-storage-manager) [![License](https://img.shields.io/pypi/l/json-storage-manager.svg)](https://pypi.org/project/json-storage-manager) [![PyPI version](https://badge.fury.io/py/json-storage-manager.svg)](https://badge.fury.io/py/json-storage-manager) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/08b84b770a7245a9b4cf613c4eb7b857)](https://www.codacy.com/app/hefnawi/json-storage-manager?utm_source=github.com&utm_medium=referral&utm_content=hefnawi/json-storage-manager&utm_campaign=Badge_Grade) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/08b84b770a7245a9b4cf613c4eb7b857)](https://www.codacy.com/app/hefnawi/json-storage-manager?utm_source=github.com&utm_medium=referral&utm_content=hefnawi/json-storage-manager&utm_campaign=Badge_Coverage) [![Documentation Status](https://readthedocs.org/projects/json-storage-manager/badge/?version=latest)](https://json-storage-manager.readthedocs.io/en/latest/?badge=latest)\n\n# json-storage-manager\n`json-storage-manager` is a Python Package that simply manages the JSON files with the stored data of products and orders for a demo store API.\n\n## Installation\n```bash\npip install json-storage-manager\n```\n\n## atomic\n\n### Usage\n`atomic` is basically used as a custom context manager for writing JSON files without downtime for the original file.\nIt simply loads the JSON file into memory and opens a temporary file using the `tempfile` Python Package, finally once the operation is finished it performs an `os.replace()` to replace the original file (which is an atomic operation on Linux systems).\n\n```python\nfrom json_storage_manager import atomic\n\nwith atomic.atomic_write(str(json_file)) as temp_file:\n with open(str(json_file)) as products_file:\n # get the JSON data into memory\n products_data = json.load(products_file)\n # now process the JSON data\n products_data.append(\n {'uuid': \"2299d69e-deba-11e8-bded-680715cce955\",\n 'special_price': 111.0,\n 'name': \"Test Product\"\n })\n json.dump(products_data, temp_file)\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hefnawi/json-storage-manager", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "json-storage-manager", "package_url": "https://pypi.org/project/json-storage-manager/", "platform": "", "project_url": "https://pypi.org/project/json-storage-manager/", "project_urls": { "Homepage": "https://github.com/hefnawi/json-storage-manager" }, "release_url": "https://pypi.org/project/json-storage-manager/0.1.12/", "requires_dist": null, "requires_python": "", "summary": "JSON Storage Manager for JSON data stored in text-files", "version": "0.1.12" }, "last_serial": 4481492, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "47d8e886b298c6be4e7364a857230f17", "sha256": "7331c33a4f953ff5ca26dba22782ddeec70e419ad109fbfa1dfe52b98410b66e" }, "downloads": -1, "filename": "json_storage_manager-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "47d8e886b298c6be4e7364a857230f17", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3506, "upload_time": "2018-11-07T00:08:15", "url": "https://files.pythonhosted.org/packages/8f/89/e33e8514a1522cbd3454fc69c6ab2723d4042ae2fbd8a07661dff5328620/json_storage_manager-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4032613e97468663c17902530e8766c3", "sha256": "b8b94d16541be76e66b50924b5a4672dbd3fe622f6c6d01d5cce14a2ad819ae3" }, "downloads": -1, "filename": "json_storage_manager-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4032613e97468663c17902530e8766c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1840, "upload_time": "2018-11-07T00:08:17", "url": "https://files.pythonhosted.org/packages/27/9f/0cf55f9a99150095e64b62e17e0234a8f29a8150c29f5f177534f500a7fc/json_storage_manager-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "1af06a0a166868c6c5921fd0097b394b", "sha256": "5acecd49bc0180eb102f668bdae323817e14ad6e300d5a4c14e77d268bfd8d09" }, "downloads": -1, "filename": "json_storage_manager-0.1.10.tar.gz", "has_sig": false, "md5_digest": "1af06a0a166868c6c5921fd0097b394b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2719, "upload_time": "2018-11-13T10:56:33", "url": "https://files.pythonhosted.org/packages/c1/a1/8c1ea4ed136e0577ed29819e5ca2927e9e55335d24950a9d28ef61100281/json_storage_manager-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "89022d601018cc0e7c99d387e78fe0ac", "sha256": "ae1527d95c3531337a72aa66406c2a6043e77dec5567039023cabe05382522ed" }, "downloads": -1, "filename": "json_storage_manager-0.1.11.tar.gz", "has_sig": false, "md5_digest": "89022d601018cc0e7c99d387e78fe0ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2800, "upload_time": "2018-11-13T11:21:13", "url": "https://files.pythonhosted.org/packages/67/8b/a585232122ea76647011d5bad71b0764a04d299b16fc6f62fdc62603467e/json_storage_manager-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "ed0caf625e2baecd6b80437770089b12", "sha256": "fee80b8b81f1e735590fe58b373fc0c12e3b889f8798a415862cf8549dc48461" }, "downloads": -1, "filename": "json_storage_manager-0.1.12.tar.gz", "has_sig": false, "md5_digest": "ed0caf625e2baecd6b80437770089b12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2797, "upload_time": "2018-11-13T11:43:28", "url": "https://files.pythonhosted.org/packages/18/a4/866a41592bb6d9f7e2c5ed42ee049b675074ae97a6faadac1fc93f0407b1/json_storage_manager-0.1.12.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ccb5854f118705722411e38fc9b6d58e", "sha256": "23b79e0f20ce43abd3f96e220cfc66b19a1439b457720f55c5f3b09b043b9ae8" }, "downloads": -1, "filename": "json_storage_manager-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ccb5854f118705722411e38fc9b6d58e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3728, "upload_time": "2018-11-11T21:15:27", "url": "https://files.pythonhosted.org/packages/15/6f/6edce51ff448c2edd64c3efad867a2d8fe1f7a7b20c20f3767b328916b7d/json_storage_manager-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f5ab167274cdde511e6391cae6d60242", "sha256": "4d1e25fa52878834d24e8be19c4f6383bd4ed0b7a537fc8ed53051bde7828744" }, "downloads": -1, "filename": "json_storage_manager-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f5ab167274cdde511e6391cae6d60242", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2034, "upload_time": "2018-11-11T21:15:29", "url": "https://files.pythonhosted.org/packages/24/b6/4aa7738bca8fddc3ae21ea235d5252d749547d858ae6df2dd6523f3d15ee/json_storage_manager-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a0edffcc9341f7980eb0e5683774d0dc", "sha256": "616b729cb5b5268885d992b2d5151897aba2b3bf7ef4a91824c9b58c42a3569c" }, "downloads": -1, "filename": "json_storage_manager-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a0edffcc9341f7980eb0e5683774d0dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3723, "upload_time": "2018-11-11T21:22:28", "url": "https://files.pythonhosted.org/packages/57/40/d928049d47feef5140c19b8c2e13c834e4ed69942f1fe0c508e17511a9e8/json_storage_manager-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15cf3924c9ec1ee306ada5683e64af95", "sha256": "24aa686648d2336d72965cd9d06b45922a4f4f8fc6468564652aa4a4bb14a900" }, "downloads": -1, "filename": "json_storage_manager-0.1.3.tar.gz", "has_sig": false, "md5_digest": "15cf3924c9ec1ee306ada5683e64af95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2040, "upload_time": "2018-11-11T21:22:31", "url": "https://files.pythonhosted.org/packages/4f/72/7143104342ae9b255fdf47e9173783c2b44b837f6a78a531ccfb65fe734d/json_storage_manager-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "2ec23ecd93bbdd2b6385f75c9ddfc215", "sha256": "f500ac644958b726e0072caf54643bc64ccda67f4bfbffd1a6e8afd706088b9f" }, "downloads": -1, "filename": "json_storage_manager-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "2ec23ecd93bbdd2b6385f75c9ddfc215", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3727, "upload_time": "2018-11-11T22:13:32", "url": "https://files.pythonhosted.org/packages/4d/f7/13b5a197fa0531dc5a166f2511a684bed8c550045b722394323ab8826204/json_storage_manager-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de3b7ec9838c51d073669ba26310e654", "sha256": "6d21edddd190997bc89598cc19958d5305bfa466f089b2f83626b1a504978d2c" }, "downloads": -1, "filename": "json_storage_manager-0.1.4.tar.gz", "has_sig": false, "md5_digest": "de3b7ec9838c51d073669ba26310e654", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2047, "upload_time": "2018-11-11T22:13:35", "url": "https://files.pythonhosted.org/packages/40/12/b5bd642637b551855d973ab2fedcdbaa9cac72c036d05a261fa49dfeede2/json_storage_manager-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "fe9f5e48eab518b0ea875481ec9ffd4c", "sha256": "739d8ff0fc6e2da64d326ab0265daa81a7e49b04146d0277457ea8880bb438c5" }, "downloads": -1, "filename": "json_storage_manager-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "fe9f5e48eab518b0ea875481ec9ffd4c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3740, "upload_time": "2018-11-11T23:46:45", "url": "https://files.pythonhosted.org/packages/3f/2c/3d319002bc0359c58cab8d72c8fd0cb4a382a9b0414a287d0f0e96b34f21/json_storage_manager-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66d22f5b9bb86fd0be395810a1779916", "sha256": "7c45abd2b6463f573135461b8d989dded013805fc85454d816fc9111d2dac2a1" }, "downloads": -1, "filename": "json_storage_manager-0.1.5.tar.gz", "has_sig": false, "md5_digest": "66d22f5b9bb86fd0be395810a1779916", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2054, "upload_time": "2018-11-11T23:46:48", "url": "https://files.pythonhosted.org/packages/8d/f6/3fa6c006ba6ffde8120b05d1092958fe3c753e2c8b7ffa3081d1bd27f09d/json_storage_manager-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "0181acd4caf274209c8fdca0ba1e92aa", "sha256": "0e178f571fdc90010c8060f555c8d884ba8f33abe0cdce668c762f6d90b945f6" }, "downloads": -1, "filename": "json_storage_manager-0.1.6.tar.gz", "has_sig": false, "md5_digest": "0181acd4caf274209c8fdca0ba1e92aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2054, "upload_time": "2018-11-12T00:06:38", "url": "https://files.pythonhosted.org/packages/2a/ed/0dad102f211f331f0a82163d4140f05506e66790d4505e533d2d7f6c4e0f/json_storage_manager-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "064ae60376b87dba6cdfe400f3c2e37c", "sha256": "794e692e56964b1ef803003d586a4df96d3772abd640f15439418f1448cf9c3b" }, "downloads": -1, "filename": "json_storage_manager-0.1.7.tar.gz", "has_sig": false, "md5_digest": "064ae60376b87dba6cdfe400f3c2e37c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2048, "upload_time": "2018-11-12T00:18:34", "url": "https://files.pythonhosted.org/packages/00/96/a5edd623d02f2a1d69965c1c14cfcbbdf13090877d6072339082c0bc7678/json_storage_manager-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "fe28a76fe4f15b7355968e98570be8ff", "sha256": "07bdc6a5c0a5dfd913f8e0ad72976092bbb87e393187acba21795ce6a4bee59b" }, "downloads": -1, "filename": "json_storage_manager-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "fe28a76fe4f15b7355968e98570be8ff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4406, "upload_time": "2018-11-12T04:22:56", "url": "https://files.pythonhosted.org/packages/97/81/cb55465ed7aed8749fb727fef50a5d5a06054bddea9dd11b65bc6b8a1130/json_storage_manager-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80b983203b7370f78c24323c2ade14bc", "sha256": "913ea1dd02f013be39d9a02a048b4bc4557447a5dfbe73e4baa160a180b729d9" }, "downloads": -1, "filename": "json_storage_manager-0.1.8.tar.gz", "has_sig": false, "md5_digest": "80b983203b7370f78c24323c2ade14bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2758, "upload_time": "2018-11-12T04:23:00", "url": "https://files.pythonhosted.org/packages/19/62/73f77c3333b627f68dc5752e3a64118b523c4f3427e184f96decf2e4a50a/json_storage_manager-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "76c08e3d3ce6df446757d4abb68b48b1", "sha256": "51b9143a033ef6ecf5586ac5774ea495e1481b93bfd30cec1d83be22cba2eb02" }, "downloads": -1, "filename": "json_storage_manager-0.1.9.tar.gz", "has_sig": false, "md5_digest": "76c08e3d3ce6df446757d4abb68b48b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2735, "upload_time": "2018-11-12T04:27:44", "url": "https://files.pythonhosted.org/packages/5c/d0/fc37a9e161e7741fd283cd97f268f4ed63f8611ba385c1a1c80594f4131c/json_storage_manager-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ed0caf625e2baecd6b80437770089b12", "sha256": "fee80b8b81f1e735590fe58b373fc0c12e3b889f8798a415862cf8549dc48461" }, "downloads": -1, "filename": "json_storage_manager-0.1.12.tar.gz", "has_sig": false, "md5_digest": "ed0caf625e2baecd6b80437770089b12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2797, "upload_time": "2018-11-13T11:43:28", "url": "https://files.pythonhosted.org/packages/18/a4/866a41592bb6d9f7e2c5ed42ee049b675074ae97a6faadac1fc93f0407b1/json_storage_manager-0.1.12.tar.gz" } ] }