It's like dict, but better
Project description
SuperDict - it’s like dict, but better.
You don’t change you dictionary to something new, you just make it better.
Module contains only 15 lines of code and valid by PEP8.
Installation
$ pip install superdict
Usage
>>> from superdict import SuperDict
>>>
>>> data = SuperDict()
>>>
>>> data.so.how.it = 'works'
>>> data
{'so': {'how': {'it': 'works'}}}
>>> data.so
{'how': {'it': 'works'}}
>>>
>>> data.test.me.please = 42
>>> data
{'test': {'me': {'please': 42}}, 'so': {'how': {'it': 'works'}}}
>>>
>>> del data.test.me
>>> data
{'test': {}, 'so': {'how': {'it': 'works'}}}
>>>
>>> data['so']['how']
{'it': 'works'}
>>>
>>> default_data = SuperDict({'default': {'x': 'y'}})
>>> default_data
{'default': {'x': 'y'}}
>>> default_data.default.x
'y'
>>>
>>> default_data = SuperDict({'default': SuperDict({'x': 'y'})})
>>> default_data
{'default': {'x': 'y'}}
>>> default_data.default.x
'y'
>>>
>>> real_dict = SuperDict({'is_success': True})
>>> copied_dict = real_dict.copy()
>>> copied_dict.is_success
True
In another cases this class works like a dict.
>>> default_data['unknown-key'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'unknown-key' >>> >>> default_data['set'] = 'correct' >>> default_data['new-set']['value'] = 'wrong' Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'new-set'
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
SuperDict-1.0.3.tar.gz
(747 Bytes
view details)
File details
Details for the file SuperDict-1.0.3.tar.gz.
File metadata
- Download URL: SuperDict-1.0.3.tar.gz
- Upload date:
- Size: 747 Bytes
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7074216be7c9c99b33e502772436b4c17d5e5efceb7620b3e8b4b30634495ebc
|
|
| MD5 |
df270d501d412e56887dbc5778dafe39
|
|
| BLAKE2b-256 |
943ce59a9d3d4022f208fb6b2a2a2ab6a54b0f06165955e116d737bc481be684
|