python dictionary to object.
Project description
dict-to-object
import dicttoobject
test_dict = {
"key1": 1,
"key2": {
"key3": "value3"
}
}
readonly_object = dicttoobject.dict_to_readonly_object(test_dict)
print(readonly_object)
# ReadOnlyObject(key1=1, key2=ReadOnlyObject(key3='value3'))
try:
readonly_object.key2 = 2
except dicttoobject.DoNotWriteError as e:
print(e.attr_name)
# key2
print(e.attr_value)
# 2
writable_object = dicttoobject.dict_to_writable_object(test_dict)
print(writable_object)
# WritableObject(key1=1, key2=WritableObject(key3='value3'))
writable_object.key2.key3 = 3
print(writable_object.key2.key3)
# 3
writable_object.key4 = 4
print(writable_object.key4)
# 4
dict_from_readonly = dicttoobject.object_to_dict(readonly_object)
print(dict_from_readonly)
# {'key1': 1, 'key2': {'key3': 'value3'}}
dict_from_writable = dicttoobject.object_to_dict(writable_object)
print(dict_from_writable)
# {'key1': 1, 'key2': {'key3': 3}, 'key4': 4}
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
dict-to-object-1.0.3.tar.gz
(2.3 kB
view details)
Built Distribution
File details
Details for the file dict-to-object-1.0.3.tar.gz
.
File metadata
- Download URL: dict-to-object-1.0.3.tar.gz
- Upload date:
- Size: 2.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4a75cf10699321662e1db3e117f3dc131b2c8f92360c7ed4abff7769c33d4f0 |
|
MD5 | 99dd1385b5d10d050c19f2187aa3b4c6 |
|
BLAKE2b-256 | 6b4906a7a5c53bc11c7f6d8cd12e34a1bc66d6d64b1971fbabb74cf1c1333a0d |
File details
Details for the file dict_to_object-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: dict_to_object-1.0.3-py3-none-any.whl
- Upload date:
- Size: 3.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27bb21c70a391c035dd1814e06443f9904545f7dbbd628d642050c7cc8063796 |
|
MD5 | 64a3d0d813d8d1029d75d00364c9b395 |
|
BLAKE2b-256 | 2c12c28013b89066cb333716c8da9b884571ef3a666682ac97790000cabc6c76 |