jsonmerge
Merge a series of JSON documents.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
MIT (permissive) — 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.
last release 2023-07-19 (1122 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,313,042 downloads/mo, #4,072 on PyPI
Alternatives
Verify before relying
pip install jsonmerge
from jsonmerge import merge
base = {"foo": 1, "bar": ["one"]}
head = {"bar": ["two"], "baz": "Hello, world!"}
result = merge(base, head)- 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).
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 on it.
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
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 packagejsonschema |
| 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 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3 |
Evidence: jsonmerge-1.9.2-py3-none-any.whl
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 document merging”
- jsonmergeMerges multiple JSON documents into a single document using…
- amazon-textract-response-parserParses JSON responses from Amazon Textract OCR service into typed…
- pypdfpypdf is a pure-Python library for reading, splitting, merging,…
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 deepmerge · mergedeep · genson · json-spec · json-source-map · pytest-html-merger · merge3 · json-ref-dict · referencing · sphinx-jsonschema