Recursive comparison
Walks nested objects and arrays with stable dot-and-index paths so structural drift stays easy to locate.
Day 020 / Python / Configuration
A dependency-free Python CLI that compares JSON configurations and reports changed paths without exposing their values.
Walks nested objects and arrays with stable dot-and-index paths so structural drift stays easy to locate.
Reports paths, statuses and types while deliberately excluding the original and replacement values.
Provides readable and JSON output plus separate exit codes for matches, differences and invalid inputs.
Added, removed, changed and type-changed paths
Configuration values omitted from reports
Ignored paths and deterministic ordering
Nine passing standard-library tests
Argparse, pathlib, json, dataclasses and type hints provide the complete dependency-free CLI.
Recursive traversal classifies scalar, type, object-key and array-index differences in deterministic order.
Nine tests cover nesting, arrays, ignores, privacy, ordering, output formats and CLI exit behavior.