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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: dotted_dict-1.1.2.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.6.3

File hashes

Hashes for dotted_dict-1.1.2.tar.gz
Algorithm Hash digest
SHA256 6fcbd8d9b9d141c87b55511116abd1f519c944e7401059fbec30cd57fcff44aa
MD5 347ca501d0099b736584941b4bf235ca
BLAKE2b-256 18b0beab61c6d479d9ff66a4567faedef279c8637830aadb24fd4487c517d99e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dotted_dict-1.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.6.3

File hashes

Hashes for dotted_dict-1.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 16f6f21208ad4feae65f24d424a42a744b380304e1983137986dad5b984401a7
MD5 243293a62267908cf12bef2deb299547
BLAKE2b-256 9dfcfc7ed8f59d1078065ab5ccbf8502aae1cc731892f541305fd3cf5c9ad92d

See more details on using hashes here.

Supported by

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