Skip to main content

A simple class that allows for the chaining of attributes.

Project description

DotDict

A simple Python library that builds upon argparse.Namespace to make chained attributes possible.

Why?

Configs of all kinds follow a dict-like structure. However, nobody likes the dict["key"] syntax. We all much prefer the dict.key syntax.

There are a number of workarounds for this, including easydict or argparse.Namespace (upon which this library is based).

The downside of these libraries, though, is that when you want to start a new level, you must explicitly define it first. For example:

config = edict()

config.host = 'localhost'

config.users = edict() # or {}
config.users.foo = 'bar'

This is ugly.

Wouldn't you much prefer the following syntax?

config = dd()

config.host = 'localhost'
config.users.foo = 'bar'

Installation

Installation is simple: pip install attr-dot-dict. Alternatively: pip install . from the root of the repository.

Usage

Usage is equally as simple:

from dotdict import DotDict as dd

x = dd()

x.a.b.c = 1
x.a.d = 2
x.a.b.e = 3

print(x) # DotDict(a=DotDict(b=DotDict(c=1, e=3), d=2))
print(vars(x)) # {'a': DotDict(b=DotDict(c=1, e=3), d=2)}
print(vars(x.a)) # {'b': DotDict(c=1, e=3), 'd': 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

attr-dot-dict-0.1.0.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

attr_dot_dict-0.1.0-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file attr-dot-dict-0.1.0.tar.gz.

File metadata

  • Download URL: attr-dot-dict-0.1.0.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for attr-dot-dict-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ff95eaa1732844d7f052609a49f7073a25750812b5cd9e8a9220a797733aafca
MD5 103b6a3c4ca6a73b226161bc8b676f02
BLAKE2b-256 a2205545f37264691945529a069abb646dab6de274dfdd6a327b22dff948cf0a

See more details on using hashes here.

File details

Details for the file attr_dot_dict-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for attr_dot_dict-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3403b96e2dd09813dc8e8cb59cfe822c805a1605c3d9a7df4567b70fd6955a28
MD5 2182b6a032e5861b985cb39e222a60b9
BLAKE2b-256 afab3c717181e61cfa97b71e6e01d072725c2d323350b408ab43547d02bc19ad

See more details on using hashes here.

Supported by

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