dictor
an elegant dictionary and JSON handler
Decision gist · record as of 2026-08-14
Yes, if you frequently work with nested JSON or dictionary structures and want to reduce boilerplate. No, if you need active maintenance—the project is dormant with last release on 2023-09-15. The high install friction (source-only distribution) is a minor drawback but not a blocker for most use cases.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Python 2 support is being dropped in version 0.1.13 and later; verify your Python version compatibility if pinning to an older release.
- High install friction due to source-only distribution (no wheels).
- Maintenance is dormant—last release was 2023-09-15, though the repository remains active with a recent commit in 2023-09-19.
License · maintenance · safety
MIT (permissive) — MIT license is permissive and places no restrictions on use, modification, or redistribution in commercial or private projects.
last release 2023-09-15 (1064 days) · last repo commit 2023-09-19 · 76 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 570,744 downloads/mo, #5,954 on PyPI
Alternatives
Verify before relying
pip install dictor
from dictor import dictor
import json
data = {"characters": {"Lonestar": {"id": 55923, "items": ["space winnebago"]}}}
print(dictor(data, 'characters.Lonestar.items.0'))- Whether version 0.1.13 or later (with Python 2 support removed) has been released, given the fact sheet shows 0.1.12 as current.
- Actual Python version support range for the current release (requires_python is empty in metadata).
- Performance characteristics when handling very large nested structures or deeply nested paths.
What it is and what it does
Dictor is a dictionary and JSON navigation utility that abstracts away the boilerplate of nested key lookups and exception handling. Instead of chaining dict.get() calls or writing try/except blocks to safely traverse nested structures, you pass a dot-separated path string to dictor() and receive the value at that location—or a fallback value if the key is missing. It handles lists within dicts, dicts within lists, case-insensitive key matching, custom path separators for keys containing dots, and key-based search across entire structures.
The package solves a common pain point in JSON and dictionary processing: safely extracting values from complex, unpredictable nested structures without defensive coding. It is most useful when parsing API responses, configuration files, or other external JSON data where the structure may vary or keys may be absent. No runtime dependencies means it installs cleanly into any Python environment.
Use it for
- Extract nested values from API responses without repeated try/except blocks or chained .get() calls.
- Parse configuration files or JSON data with optional or variable structure, using fallback defaults.
- Search for all occurrences of a specific key across a deeply nested dictionary or list-of-dicts structure.
- Access list elements by index within a nested path (e.g., 'characters.Lonestar.items.0').
- Handle keys containing dots or special characters by using a custom path separator or escape sequences.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you frequently work with nested JSON or dictionary structures and want to reduce boilerplate.
No, if you need active maintenance—the project is dormant with last release on 2023-09-15. The high install friction (source-only distribution) is a minor drawback but not a blocker for most use cases.
Install
dictor on PyPI
Before you install
High install friction due to source-only distribution (no wheels). Maintenance is dormant—last release was 2023-09-15, though the repository remains active with a recent commit in 2023-09-19. No runtime dependencies.
Python 2 support is being dropped in version 0.1.13 and later; verify your Python version compatibility if pinning to an older release.
License in practice
MIT license is permissive and places no restrictions on use, modification, or redistribution in commercial or private projects.
Quickstart
pip install dictor
from dictor import dictor
import json
data = {"characters": {"Lonestar": {"id": 55923, "items": ["space winnebago"]}}}
print(dictor(data, 'characters.Lonestar.items.0'))
Verify before relying
- Whether version 0.1.13 or later (with Python 2 support removed) has been released, given the fact sheet shows 0.1.12 as current.
- Actual Python version support range for the current release (requires_python is empty in metadata).
- Performance characteristics when handling very large nested structures or deeply nested paths.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Dormant 1,064 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 570,744 / month, #5,954 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: dictor-0.1.12.tar.gz
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 › “json path lookup”
- dictorDictor provides a simplified interface for navigating and extracting…
- pathablePathable provides path-like objects for traversing nested data…
- bazel-runfilesProvides a Python API to locate and access runfiles (data files and…
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 mo-dots · dotmap · flatdict · super-collections · magicattr · python-box · json-flatten · jsonquerylang