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

Uploaded Source

Built Distribution

dotted_dict-1.1.0-py2.py3-none-any.whl (3.5 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: dotted_dict-1.1.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.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.0.tar.gz
Algorithm Hash digest
SHA256 6c0dcdfb6478f736293681e3b4da97c5fac70cea88c8eab6da66effabab2bba1
MD5 aacf5ca5f8f6be721488f73c2259fb26
BLAKE2b-256 b2f5a5bc67124eb67f9a46c89a3ca27e170e18122265a8c62e7542f1db217b54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dotted_dict-1.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.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.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5f490d743d419eea4ea5a597d9546676a078da51bf575dafb02fdfc2d47fac98
MD5 39aa4ded21df0814a952bbba749a80ed
BLAKE2b-256 24ce8b1e23d6c513ba855f273dbec5b686315925b600429c8b6aa24cc543a231

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