Skip to main content

removing all the open(file, 'w') hassle from saving a simple json

Project description

QuickJSON

QuickJSON is a python library that focuses on removing the open(file, 'w') hassle from your daily json file saving needs

Installation

Use the package manager pip to install the package.

pip install QuickJSON

Usage

Import the package to use it.

import QuickJSON


Create a new QJSON object. (everything after the "path" parameter will handed over to the dict super call.

settings = QuickJSON.QJSON('path/to/json.json')

The object will behave like a normal python dictionary.

With following method all of the information stored inside the json file at the before given path will be stored in the current QJSON object. Items that are already stored in the object wont be deleted. They will only be overwritten if you set no_override to False (by default set to False).

settings.load(no_override=False)


Storing data works exactly like a normal python dictionary.

settings['a key'] = 'a value'


Once you are done you can save the QJSON object to the previus path with the following command:

settings.save()


You can also clear move or copy the JSON file by invoking one of the following functions:

settings.copy_save('new/directory/for/json.json')
settings.merge_save('new/directory/for/json.json')
settings.clear_save()

The functions do not modify the content of the dictionary itself, but modify the to file saved content, so make sure to save before copying or moving anything. .clear_save and .move_save will also remove any empty folders left behind


.save(), .load(), .move_save() and .copy_save will automatically check if any given directory is valid. They will generate any missing directories and files if necessary and return an empty dictionary if file is not found or corrupt.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate. (i know, the tests folder is currently empty, but will change soon... hopefully)

License

No License (yey)

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

QuickJSON-nicky-0.0.4.tar.gz (3.0 kB view hashes)

Uploaded Source

Built Distribution

QuickJSON_nicky-0.0.4-py3-none-any.whl (3.0 kB view hashes)

Uploaded Python 3

Supported by

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