dict object with support for addressing keys in dot notation.
Project description
A light weight extension of the default python dict object. This allows for the use of key names as object attributes.
Simple usage
In [1]: from dotted_dict import DottedDict In [2]: example = DottedDict() In [3]: example['foo'] = 1 In [4]: example.foo Out[4]: 1 In [5]: example.bar = 2 In [6]: example Out[6]: DottedDict({'bar': 2, 'foo': 1}) In [7]: del example['foo'] In [8]: del example.bar In [9]: example Out[9]: DottedDict({})
Also allows passing in of values in same manner as normal dict objects.
In [10]: example = DottedDict({'foo': 1, 'bar': 2}) In [11]: example Out[11]: DottedDict({'bar': 2, 'foo': 1})
Issues with invalid characters. A valid key name in the scope of this library must conform to the
following regex [a-zA-Z_][a-zA-Z0-9_]*$
. In the case where your key name does not conform,
the library will mutate your key to a safe format. Spaces and invalid characters are replaced with
_. In the case of the key beginning with an int, a leading _ is added.
In [12]: DottedDict({'My fun key': 1, 'John\'s': 1, 'Mr. Man': 1}) Out[12]: DottedDict({'John_s': 1, 'Mr__Man': 1, 'My_fun_key': 1}) In [13]: DottedDict({1: 2}) Out[13]: DottedDict({'_1': 2})
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
dotted_dict-1.0.5.tar.gz
(3.3 kB
view hashes)
Built Distribution
Close
Hashes for dotted_dict-1.0.5-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edb8b6a78a73388e8e2532c394f604a12829ac927752a3327e766844e3e5bc65 |
|
MD5 | 84a39f53d371a05fc8ffab780f784d90 |
|
BLAKE2b-256 | eb44c184c1f9e84a25e54fb9bd7fb6d973b943a30aa1158ba5a38997e1fa9e86 |