Skip to main content

JSON Storage Manager for JSON data stored in text-files

Project description

Build Status License PyPI version Codacy Badge Codacy Badge Documentation Status

json-storage-manager

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.

Installation

pip install json-storage-manager

atomic

Usage

atomic is basically used as a custom context manager for writing JSON files without downtime for the original file. It 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).

from json_storage_manager import atomic

with atomic.atomic_write(str(json_file)) as temp_file:
        with open(str(json_file)) as products_file:
            # get the JSON data into memory
            products_data = json.load(products_file)
        # now process the JSON data
        products_data.append(
            {'uuid': "2299d69e-deba-11e8-bded-680715cce955",
             'special_price': 111.0,
             'name': "Test Product"
             })
        json.dump(products_data, temp_file)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

json_storage_manager-0.1.12.tar.gz (2.8 kB view details)

Uploaded Source

File details

Details for the file json_storage_manager-0.1.12.tar.gz.

File metadata

  • Download URL: json_storage_manager-0.1.12.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for json_storage_manager-0.1.12.tar.gz
Algorithm Hash digest
SHA256 fee80b8b81f1e735590fe58b373fc0c12e3b889f8798a415862cf8549dc48461
MD5 ed0caf625e2baecd6b80437770089b12
BLAKE2b-256 18a4866a41592bb6d9f7e2c5ed42ee049b675074ae97a6faadac1fc93f0407b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page