Skip to main content

EasyDict allows to access dict values as attributes (works recursively). A Javascript-like properties dot notation for python dicts.

USAGE

>>> from easydict import EasyDict as edict
>>> d = edict({'foo':3, 'bar':{'x':1, 'y':2}})
>>> d.foo
3
>>> d.bar.x
1

>>> d = edict(foo=3)
>>> d.foo
3

Very useful when exploiting parsed JSON content !

>>> from easydict import EasyDict as edict
>>> from simplejson import loads
>>> j = """{
"Buffer": 12,
"List1": [
    {"type" : "point", "coordinates" : [100.1,54.9] },
    {"type" : "point", "coordinates" : [109.4,65.1] },
    {"type" : "point", "coordinates" : [115.2,80.2] },
    {"type" : "point", "coordinates" : [150.9,97.8] }
]
}"""
>>> d = edict(loads(j))
>>> d.Buffer
12
>>> d.List1[0].coordinates[1]
54.9

Can set attributes as easily as getting them :

>>> d = EasyDict()
>>> d.foo = 3
>>> d.foo
3

It is still a dict !

>>> d = EasyDict(log=False)
>>> d.debug = True
>>> d.items()
[('debug', True), ('log', False)]

Instance and class attributes are accessed like usual objects…

>>> class Flower(EasyDict):
...     power = 1
...
>>> f = Flower({'height': 12})
>>> f.power
1
>>> f['power']
1

LICENSE

  • Lesser GNU Public License

AUTHORS

makinacom

Similar tools

CHANGELOG

1.6 (2015-01-27)

  • Allow setting attributes via setting items (thans phivos)

1.5 (2014-08-07)

  • Allow subclassing using self instead of class name (thanks Steve Engledow)

1.4 (2011-03-13)

  • Access class attributes like instance attributes

1.3 (2012-02-08)

  • Better documentation and tests

1.2 (2011-06-08)

  • Fix inclusion of README

1.1 (2012-04-21)

  • Switch to distutils2

1.0 (2011-04-18)

  • Initial working version

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easydict-1.6.zip (10.3 kB view details)

Uploaded Source

File details

Details for the file easydict-1.6.zip.

File metadata

  • Download URL: easydict-1.6.zip
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for easydict-1.6.zip
Algorithm Hash digest
SHA256 c7d58e2f737b5b5d8aeba30ca5f09f694bd80c81ed65de4141a9c69bd734a517
MD5 00797111d890fc3fff673dd9e1d5b98a
BLAKE2b-256 ccfd9bbcdc3c89ebb1cd78db436ad28bda2b47747a43bc623ef62ef345a7f88c

See more details on using hashes here.

Release history Release notifications | RSS feed

1.13

2 files

1.12

2 files

1.11

1 file

1.10

1 file

1.9

1 file

1.8

1 file

1.7

1 file

This release

1.6 This release

1 file

1.5

1 file

1.4

1 file

1.3

1 file

1.2

1 file

1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page