skillfed

jsonmerge

Merge a series of JSON documents.

jsonmerge v1.9.2 1.3M downloads/30d#4,072 on PyPI
Permissive license MIT Abandoned released

What it is and what it does

jsonmerge combines multiple JSON documents into one, applying merge logic that you control via JSON schema annotations. By default, it merges objects by combining their fields and overwrites other types, but you can customize behavior per field using schema keywords like mergeStrategy (e.g., 'append' to concatenate arrays, 'version' to track historical values). The package depends on jsonschema and is designed for scenarios where different authors contribute to shared documents or where you need to track document evolution across revisions.

The library works by accepting a base document and a head document, then producing a merged result. You can chain multiple merges to build up a document from many sources. It also provides a way to generate an output schema that describes the structure of merged results, which may differ from the input schema when strategies like 'version' transform field types.

Use it for:

  • Consolidating configuration files from multiple sources where some fields should append and others should overwrite.
  • Tracking versioned changes to a document over time, keeping a limited history of field updates with metadata.
  • Merging contributions from multiple authors into a shared JSON document template.
  • Building incremental snapshots by repeatedly merging new revisions into a base document.
  • Combining API responses or data exports from different systems into a unified structure.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Merges multiple JSON documents into a single document using configurable merge strategies applied via JSON schema keywords.

Yes, if you need schema-driven JSON merging and can tolerate an abandoned package. The library is stable (no known vulnerabilities, low install friction, permissive license), but you should validate input documents yourself and not expect bug fixes or compatibility updates. Best suited for internal tools or stable use cases where you control the merge logic and document structure.

Install

jsonmerge on PyPI

pip

pip install jsonmerge

uv

uv add jsonmerge

poetry

poetry add jsonmerge

Installing jsonmerge

Before you install

Low install friction with a single runtime dependency (jsonschema). However, the package is abandoned—last release was 2023-07-19 and no commits recorded since. No active maintenance means bug fixes or compatibility updates are unlikely.

License in practice

MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute the package freely provided you retain the license notice.

Quickstart

pip install jsonmerge

from jsonmerge import merge
base = {"foo": 1, "bar": ["one"]}
head = {"bar": ["two"], "baz": "Hello, world!"}
result = merge(base, head)

Verify before relying

  • Whether abandoned status affects real-world reliability for stable use cases (no recent vulnerabilities reported, but no active support).
  • Compatibility with modern Python versions beyond what classifiers indicate (Python 2 and 3 listed, but no requires_python constraint specified).

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — jsonschema
Maintenance abandoned — 1,122 days since the last release
First released
Downloads 1,313,042/month — #4,072 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: jsonmerge-1.9.2-py3-none-any.whl

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3

Tags

json document mergingmerge json objectsjson schema merge strategiescombine json documentsjsonschema-based mergingversioned json updatesmulti-document json consolidation
json-processingschema-drivendocument-consolidation

More Utilities packages