nested-lookup
Python functions for working with deeply nested documents (lists and dicts)
What it is and what it does
nested-lookup is a utility library for traversing and manipulating deeply nested Python data structures—typically dictionaries and lists parsed from JSON, YAML, or XML. It provides functions like nested_lookup (find all values for a key at any depth), nested_update (change values across all occurrences), nested_delete (remove keys), and nested_alter (apply a callback to matching values). By default these operations return a modified copy; you can pass in_place=True to mutate the original document.
The package supports optional features like case-insensitive substring matching (wild=True) and returning both keys and values. It also offers utility functions to enumerate all keys in a document, count key or value occurrences, and retrieve both occurrence counts and their associated contexts. No runtime dependencies are required.
Use it for:
- Extract all email addresses from a deeply nested configuration or API response document
- Update a specific field across all nested occurrences in a large JSON structure without manual recursion
- Audit a YAML configuration by finding all instances of a sensitive key like 'password' or 'api_key'
- Count how many times a particular value appears in a nested data structure for validation or debugging
- Transform nested numeric values (e.g., add 10 to all 'price' fields) using a callback function
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides functions to search, update, delete, and analyze keys and values across deeply nested dictionaries and lists, typically from parsed JSON, YAML, or XML documents.
No. The package is abandoned (last release 2022-07-06, 1500+ days ago) with no maintenance signals. While it has no known vulnerabilities and carries permissive licensing, the high install friction combined with lack of active support makes it risky for production use. For nested data manipulation, consider actively maintained alternatives or implement the logic directly in your codebase.
Install
nested-lookup on PyPI
pip
pip install nested-lookupuv
uv add nested-lookuppoetry
poetry add nested-lookupInstalling nested-lookup
Before you install
High install friction reported. Package is abandoned as of 1500 days since last release, with no recent maintenance signals. Installs without runtime dependencies but carries the risk of unaddressed issues.
License in practice
Public Domain license permits unrestricted use, modification, and distribution with no attribution or liability requirements.
Quickstart
pip install nested-lookup
from nested_lookup import nested_lookup
document = {'a': {'b': 42}, 'c': [{'b': 69}]}
result = nested_lookup('b', document)
print(result) # [42, 69]
Verify before relying
- Current compatibility with Python versions beyond 3.10 and modern dependency ecosystems
- Whether the package functions correctly with very large or deeply nested structures
- Active maintenance status and responsiveness to bug reports given the abandoned classification
Package facts
| License | Public Domain (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,500 days since the last release |
| First released | |
| Downloads | 389,407/month — #7,029 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nested-lookup-0.2.25.tar.gz
Keywords: nested, document, dictionary, dict, list, lookup, schema, json, xml, yaml
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
flatdictFlattens nested dictionaries into single-level…
permissive · top 5,000 on PyPI
deepmergeMerges nested Python data structures (dicts,…
permissive · top 5,000 on PyPI
mo-dotsProvides null-safe dot-notation access to…
copyleft · top 15,000 on PyPI
super-collectionsConverts nested JSON and YAML data into Python…
permissive · top 5,000 on PyPI
flatten-jsonConverts nested JSON objects into flat…
permissive · top 5,000 on PyPI
dict-recursive-updateRecursively merges one dictionary into another,…
permissive · top 15,000 on PyPI
daciteConverts dictionaries into dataclass instances…
permissive · top 1,000 on PyPI
awkward0Manipulates complex, non-rectangular data…
permissive · top 15,000 on PyPI
json-ref-dictProvides a dict-like interface to JSONSchema…
permissive · top 15,000 on PyPI