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]: {'bar': 2, 'foo': 1} In [7]: del example['foo'] In [8]: del example.bar In [9]: example Out[9]: {}
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]: {'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 are replaced with _ and other invalid
characters are removed. 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]: {'Johns': 1, 'Mr_Man': 1, 'My_fun_key': 1} In [13]: DottedDict({1: 2}) Out[13]: {'_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
Built Distribution
Hashes for dotted_dict-1.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58719b38bed080dcaa7688abe7afef92aee58aa113011aaa5da02f1483e8cadc |
|
MD5 | c18caecd51bb689727c149abcd859be1 |
|
BLAKE2b-256 | 93e0fc642bd466db516ce9b3c3d38c9036a46057333659bc8908f1e52bd6e937 |