easydict
Access dict values as attributes (works recursively).
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
LGPL-3.0 (copyleft) — 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.
last release 2024-03-04 (893 days) · last repo commit 2024-07-17 · 314 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,294,198 downloads/mo, #2,340 on PyPI
Alternatives
Verify before relying
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- 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).
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 on this page. Verify before relying on it.
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
easydict on PyPI
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 | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 893 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,294,198 / month, #2,340 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Natural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 2.5Programming Language :: Python :: 3.6Topic :: Utilities |
Evidence: easydict-1.13-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “nested dict accessor”
- easydictEasyDict wraps Python dictionaries to allow attribute-style access…
- pathablePathable provides path-like objects for traversing nested data…
- jsonschema-pathProvides object-oriented path-based access to JSON Schema documents,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also addict · munch · super-collections · jsonasobj2 · python-box · mo-dots · attrdict · python-benedict · jsonasobj · prodict