Bind Python objects to JSON files
Project description
livejson
An interface to transparently bind Python objects to JSON files, so that all changes made to the object are reflected in the JSON file
livejson allows you to cleanly manipulate JSON objects as though they were Python dicts, with your file transparently updating in the background. It's pure-python with no dependencies, and compatible across Python 2 and Python 3.
livejson is:
- Easy: use
livejsonwith the same interface as Pythonlists anddicts, meaning it can basically be used as a drop-in replacement. - Flexible:
livejsonfully supports complex nestings oflists anddicts, meaning it can represent any valid JSON file. - Compatible:
livejsonworks perfectly on both Python 2 and Python 3. - Lightweight:
livejsonis a single file with no external dependencies. Just install and go! - Reliable: by default, no caching is used. Every single time you access a
livejson.Database, it's read straight from the file. And every time you write to it, the change is instant. No delays, no conflicts. However, if efficiency is important, you can use the context manager to perform "grouped writes", which allow for performing a large number of operations with only one write at the end. - 100% test covered Be confident that
livejsonis working properly
livejson can be used for:
- Database storage: you can use
livejsonto easily write flexible JSON databases, without having to worry about complexopenandcloseoperations, or learning how to use thejsonmodule. - Debugging: You can use
livejsonto back up your Python objects. If you use alivejson.Databaseinstead of adictor alistand your script crashes you'll still have a hard copy of your object. And you barely had to change any of your code. - General-purpose JSON: If your script or application needs to interact with JSON files in any way, consider using
livejson, for simplicity's sake.livejsoncan make your code easier to read and understand, and also save you time.
Thanks to dgelessus for naming this project.
Installing
livejson supports both Python 2 and 3, and can be easily installed with pip.
# Python 2
sudo pip install livejson
# Python 3
sudo pip3 install livejson
After installing, you can just import livejson from your code!
Example usage
Basic usage:
import livejson
f = livejson.File("test.json")
f["a"] = "b"
# That's it, the file has been written to!
As a context manager:
import livejson
with livejson.File("test.json") as f:
f["a"] = "b"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file livejson-1.9.1.tar.gz.
File metadata
- Download URL: livejson-1.9.1.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d08c4a2c607fe0e089f8ba38946e060af6dd617d3d984ec8a3495f29ab370e1
|
|
| MD5 |
b773ab317f05394120255beab54c2980
|
|
| BLAKE2b-256 |
91ed4d7ac8e97fba75ae0b26c32e511a7ea909f85174520a954678fbd6a9df37
|