Skip to main content

dict object with support for addressing keys in dot notation.

Project description

Travis CI Build Coverage Code Climate Maintainability

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


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.3.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

dotted_dict-1.1.3-py2.py3-none-any.whl (3.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file dotted_dict-1.1.3.tar.gz.

File metadata

  • Download URL: dotted_dict-1.1.3.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for dotted_dict-1.1.3.tar.gz
Algorithm Hash digest
SHA256 f148a1c15598db8295551ed1555bd35b91dec49359bec7b4657e9b2f35526965
MD5 ff433b60aa29540250b0b6b9066cca71
BLAKE2b-256 2aafeedd4185607f2454fd2ac661fd63921ef28c18e8e2c00ddeac5f6c84655b

See more details on using hashes here.

File details

Details for the file dotted_dict-1.1.3-py2.py3-none-any.whl.

File metadata

  • Download URL: dotted_dict-1.1.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for dotted_dict-1.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a78600ee63c6473581234249cc56263d472b31e812428e28f2217bbbbfb9df22
MD5 8316748373b3e92acd9da3757c2732e6
BLAKE2b-256 3e92d110cc64530c463d515c4da7416c5db70ceb601ed92a67a305eeaaf309eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page