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 and invalid characters 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.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d701888a3b445cfd5907f356d067b06ca9c3099142a44cb07a65a60d89adf17 |
|
MD5 | 9b90b3bf7b6ac8a9075c3cf857df0d8a |
|
BLAKE2b-256 | 828f124554eeafe77ae20922718af18989ae5d652821ece0e1b0b5f2ceeb6234 |