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.1.1.tar.gz
(3.5 kB
view hashes)
Built Distribution
Close
Hashes for dotted_dict-1.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbeb653ba3f8834d08949823ca579cebf01ad09b355bfafcc73bb963bbb7d56e |
|
MD5 | 7185c5d0f0f706b2eff3f59fd7d7a039 |
|
BLAKE2b-256 | dce7e976dd2a54c8f770505ae5a6d386d8bef7cfb3744515b89664e5a641617f |