Skip to main content

A self saving json based config file. Storable data are all classical JSON datatypes including lists/arrays and dictionaries, which will be stored as JSON Objects.

The Json_Dict object can be initialized via jd = JsonDict()

The Object can be initialized with a file (as path) , which will be created if not existend (turn off by passing createfile=False as parameter). You can also pass initial data to the instance via the data. The data can be in the form of another JsonDict, an JSON string or an JSON serializable dictionary. If a file is specified the JsonDict will first try to read the file and if this does not work fall back to the initial provided data.

If a file is provided the JsonDict will be saved to the file on value addition/change. This can be turned of generally by providing the initial argument autosave=False or setting the autosave attribute to False any time. For not saving at a specific request you can also pass the autosave=False parameter to a get or put request.

path_to_file content: {"a":1,"b":{"c":"foo","d":100},"d":["bar",0.1]}
jd = JsonDict(file=path_to_file, creatfile=False, autosave=False)
will generate a JsonDict initialized with the file content but never overwrites it unless js.save() is called. If autosave is not passed during initialization or set to True every change to the JsonDict will be saved directly to the file.

The call jd = JsonDict(file=path_to_invalif_file,data={'a':1}, creatfile=False, autosave=False) will initialize the object with with the data provided by the data parameter since the file is invalid and not created during initialization

The data in the JsonDic object is set via the jd.put("key","subkey","subsubkey",...,value=value). where all the args are used as keys to the value which is set by the value kwarg.
In this manner js.put("b","c",value="foo") will change a JsonDict with the data{'a':1} to {'a':1,'b':{'c':'foo'}}
Keep in mind that every type can be used as a key but it will be transformed to the corresponding string representation!

To get the data from the JsonDict you can use jd.put("key","subkey","subsubkey",...,default=defaultvalue) respectively. The optional default parameter can be used to set the value if the keystructure is not present in the dict otherwise None will be returned. The requested structure will be saved in the JsonDict whether or not it is already present or not!

Metadata

Release files for Json-Dict 0.2.1605964251

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Json-Dict 0.2.1605964251
File Size Uploaded
Json_Dict-0.2.1605964251.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Json-Dict 0.2.1605964251
File Interpreter ABI Platform
Json_Dict-0.2.1605964251-py3-none-any.whl Python 3 none any Details

Total release size: 22.8 kB

Release files / Json_Dict-0.2.1605964251.tar.gz

Download URL Json_Dict-0.2.1605964251.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
eea59ceb658f889d8c2863bc3d7a8fc03ed1af932858d2b02c3d9305105b29be
BLAKE2b-256 checksum
How to use checksums
f190b38db2fc306410076e7b626e5cb5baa3b8e6f40c7ef9953aa0f9cb4c8194
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

Release files / Json_Dict-0.2.1605964251-py3-none-any.whl

Download URL Json_Dict-0.2.1605964251-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e90dfe1e626c866cc34a6d53f6a65343d7c4e207859e050d7296850e0aae2a95
BLAKE2b-256 checksum
How to use checksums
1cec213f15b6e91378e9d4264aaab65535ed838306570de155a6b1859110fe08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

Release history Release notifications | RSS feed

This release

0.2.1605964251 This release

2 release files

0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page