--- id: easydict version: "1.13" license: LGPL-3.0 license_treatment: copyleft maintenance: dormant --- # easydict — Access dict values as attributes (works recursively). License: copyleft · Maintenance: dormant · Downloads: 4.3M/mo ## What it is and what it does EasyDict is a thin wrapper around Python's built-in dict that lets you access dictionary values using attribute notation (dot syntax) instead of bracket indexing. It works recursively on nested dictionaries, so you can chain attribute accesses like `d.bar.x` instead of `d['bar']['x']`. The wrapper is transparent—the result is still a real dict, so all standard dict methods like `.items()` and `.pop()` work unchanged. It is commonly used to make parsed JSON or configuration data more readable and convenient to work with in code. Since JSON structures often nest objects deeply, EasyDict eliminates the visual clutter of repeated bracket notation. You can also subclass it to add custom behavior while retaining the attribute-access convenience. Use it for: - Parse JSON responses from APIs and access nested fields using dot notation instead of repeated bracket indexing. - Wrap configuration dictionaries loaded from files to make code that reads settings cleaner and more readable. - Convert deeply nested data structures (e.g., from external APIs) into objects that feel more natural to access in Python. - Subclass EasyDict to build lightweight data containers that behave like dicts but support attribute-style field access. - Simplify exploratory data analysis or scripting where you frequently access nested dict values interactively. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. EasyDict wraps Python dictionaries to allow attribute-style access (dot notation) to dictionary values, including nested structures, while remaining a standard dict. Yes, if you frequently work with nested dictionaries or parsed JSON and prefer dot notation over bracket indexing. The package is lightweight, has no dependencies, and is stable. However, note that it is dormant (last release 893 days ago); if you need active maintenance or modern Python version guarantees, verify compatibility with your target Python version first. The LGPL-3.0 license requires derivative works to remain open-source. ## Install pip install easydict uv add easydict poetry add easydict ## Installing easydict Before you install: Installation is straightforward with no runtime dependencies. The package is dormant (last release 2024-03-04, 893 days ago) but marked Production/Stable; the repository remains active and unarchived with modest community engagement (314 stars). License in practice: Licensed under LGPL-3.0 (copyleft). Any derivative work or modification must be released under compatible terms; static linking or bundling in proprietary software requires careful review of your distribution model. Quickstart: pip install easydict from easydict import EasyDict as edict d = edict({'foo': 3, 'bar': {'x': 1, 'y': 2}}) print(d.foo) # 3 print(d.bar.x) # 1 Verify before relying: - Whether the package is actively maintained or has entered long-term stable maintenance; last release was 893 days ago. - Compatibility with modern Python versions beyond 3.6 (classifiers list 3.6 but current support is unspecified). ## Package facts - License: LGPL-3.0 (copyleft) - Python support: unspecified - Install friction: low - Maintenance: dormant - Downloads: 4.3M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags dict attribute access, dot notation dictionary, nested dict accessor, javascript-like dict properties, dict to object conversion, recursive dict attributes, json to attributes, dict-wrapper, json-convenience, data-access [View on SkillFed](https://skillfed.io/packages/easydict) · [View on PyPI](https://pypi.org/project/easydict/)