Registry / data / dictknife

dictknife

JSON →
library0.14.2pypypi✓ verified 85d ago

Utility set for handling dict in Python. Current version 0.14.2, requires Python >=3.10. Release cadence is irregular, with minor version bumps over years.

pip install dictknife
INSTALL
IMPORT
SIG · DICTKNIFE
D
dictknife
datapythonv0.14.2
Install
1.6s avg
Import
69ms
Disk
17MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.14.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.076s · 18.8MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.6s · import 0.062s · 19MB
17MB installed
● package 17MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

DictWalker
from dictknife import DictWalker
Main class for walking nested dicts.
deep_merge
from dictknife import deep_merge
from dictknife.deep_merge import deep_merge
deep_merge is a top-level function.
load_csv
from dictknife import load_csv
from dictknife.csv import load_csv
load_csv is a top-level function.

Demonstrates deep_merge and DictWalker.

from dictknife import deep_merge, DictWalker d1 = {'a': 1, 'b': {'x': 10}} d2 = {'b': {'y': 20}, 'c': 3} merged = deep_merge(d1, d2) print(merged) # {'a': 1, 'b': {'x': 10, 'y': 20}, 'c': 3} walker = DictWalker(d1) for path, value in walker.walk(): print(path, value)
Debug
Known issues
gotchadeep_merge modifies the first dict in-place. Did not in older versions (<0.14).
fix
Pass a deepcopy if you need to preserve original: from copy import deepcopy; merged = deep_merge(deepcopy(d1), d2)
affects: >=0.14.0
deprecatedFunctions from submodules like `dictknife.csv` and `dictknife.json` are moved to top-level. Importing `from dictknife.csv import load_csv` still works but is deprecated.
fix
Use `from dictknife import load_csv` instead.
affects: >=0.14.0
breakingPython 3.10 is now required. Versions <0.14.2 supported Python 3.6+.
fix
Upgrade Python to >=3.10 or pin dictknife<0.14.2.
affects: >=0.14.2
Errors
Common errors & fixes
ImportError: cannot import name 'deep_merge' from 'dictknife'
Old version of dictknife (<0.9) had deep_merge under a different name or not available.
fix
Upgrade dictknife to latest: pip install --upgrade dictknife
TypeError: deep_merge() got an unexpected keyword argument 'conflict'
Previously deep_merge accepted a 'conflict' argument to resolve conflicts, removed in v0.14.
fix
Remove the 'conflict' argument; merge now always overwrites. See docs for custom conflict resolution.
ModuleNotFoundError: No module named 'dictknife.csv'
Submodule csv was removed in v0.14.0.
fix
Use top-level import: from dictknife import load_csv
Upgrade
Version history
0.14.2latest on PyPI · released Jul 5, 2025
Audit
Dependencies

No dependency data recorded yet.

Agent activity
8 hits · last 30 days
node
6
OpenAI (training)
1
Resources
dictknife — pip install dictknife · libregistry