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]: {'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


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.0.3.tar.gz (3.2 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.0.3-py2.py3-none-any.whl (4.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: dotted_dict-1.0.3.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for dotted_dict-1.0.3.tar.gz
Algorithm Hash digest
SHA256 e5ee081b66c57c03d931bdd8670905d1d5cffc93c2ac8b72b4a126b0818d7f73
MD5 5cb9c0af05ed3deb31c0d43972646b3e
BLAKE2b-256 47dcdb20701df49d3f79956b10977b803f608992f38276d8c02f4925a8372328

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dotted_dict-1.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6d701888a3b445cfd5907f356d067b06ca9c3099142a44cb07a65a60d89adf17
MD5 9b90b3bf7b6ac8a9075c3cf857df0d8a
BLAKE2b-256 828f124554eeafe77ae20922718af18989ae5d652821ece0e1b0b5f2ceeb6234

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