Convert dict to access dict keys as attributes.
Project description
Attrify
Access python dict keys as attributes
Installation
- Install using pip:
pip install attrify
Examples
- Convert normal dict
from attrify import Attrify
normal_dict = {'name': 'Cool'}
attrified_dict = Attrify(normal_dict)
# or
attrified_dict = Attrify(**normal_dict)
assert attrified_dict['name'] == attrified_dict.name
- Convert complex nested dict
complex_nested_normal_dict = {"data": {"results": [{"name": "something"}, {"name": "anything"}]}}
complex_nested_attrified_dict = Attrify(complex_nested_normal_dict)
# or
complex_nested_attrified_dict = Attrify(**complex_nested_normal_dict)
assert complex_nested_attrified_dict.data.results[0].name == complex_nested_normal_dict['data']['results'][0]['name']
- Convert back to dict
normal_dict = {'name': 'Cool'}
attrified_dict = Attrify(normal_dict)
assert type(attrified_dict.to_dict()) == type(normal_dict)
- Keys inside dir: Will only contain with alphabetic keys, To see which keys are considered alphabetic see
help(str.isalpha)
attrified_dict = Attrify({'name': 'Cool'})
print(dir(attrified_dict)) # List return will contain the key 'name'.
- There is also a shortcut method to prettify dict, Just calls json.dumps with some args set.
print(complex_nested_attrified_dict.prettify())
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
attrify-3.0.tar.gz
(4.0 kB
view details)
File details
Details for the file attrify-3.0.tar.gz
.
File metadata
- Download URL: attrify-3.0.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3446ac32140c6a4ad2a5d6fc4a9aa42c7f1cc3f4b9ff916fef88dc27fcfe3cd3 |
|
MD5 | 1a3f768d9e61a5523099e3e4f1355e3b |
|
BLAKE2b-256 | 9e766b6fb6309d56b7547e8368e378877e34f8f006ae3769a3109e9fe46eee4a |