jsoncompat
JSON Schema compatibility checker for evolving schemas
Decision gist · record as of 2026-08-14
Yes, if you need JSON Schema compatibility checking or example generation. The package is actively maintained, has no known vulnerabilities, and requires no external runtime dependencies. The main caveat is that license metadata is unclear in the fact sheet despite the description mentioning MIT—verify the actual license before use in proprietary contexts. Install friction is medium due to compiled wheels, but that is typical and not a blocker.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.12 or later.
- Medium install friction due to compiled wheels across multiple Python versions and platforms.
- Actively maintained with recent release history.
License · maintenance · safety
(unclear) — License treatment is unclear; the description excerpt mentions MIT License but the fact sheet does not confirm SPDX or raw license metadata. Verify the actual license before use in proprietary or restricted contexts.
last release 2026-08-05 (9 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 609,320 downloads/mo, #5,773 on PyPI
Alternatives
Verify before relying
pip install jsoncompat==0.4.2
import jsoncompat as jsc
old_schema = '{"type": "string"}'
new_schema = '{"type": "number"}'
is_compatible = jsc.check_compat(old_schema, new_schema, jsc.Role.BOTH)
print(is_compatible)- Whether the MIT License mentioned in the description excerpt is the authoritative license for this package
- Performance characteristics when validating large or deeply nested schemas
- Whether the package handles all JSON Schema draft versions or only specific versions
What it is and what it does
jsoncompat is a Python binding for checking whether JSON Schemas remain compatible as they evolve, and for generating example values that satisfy a schema. It addresses the problem of schema versioning: when a schema changes over time, you need to know whether old data will still validate against the new schema (backward compatibility) or whether new data will validate against old schemas (forward compatibility). The package provides three main operations: compatibility checking between schema versions, validation of JSON instances against a schema, and generation of example values from a schema.
The package exposes a straightforward API: `check_compat()` takes two schemas and a role (serializer, deserializer, or both) and returns a boolean; `validator_for()` and `generator_for()` return reusable objects that parse the schema once and support repeated validation or generation. It also includes code generation for dataclasses that automatically handle serialization and deserialization with optional format support (JSON, YAML, MessagePack). No runtime dependencies are required for the core API.
Use it for
- Verify that a new JSON Schema version remains backward compatible with old client data before deploying schema changes
- Generate valid test data that conforms to a schema for property-based testing or integration tests
- Validate incoming JSON payloads against a schema in an API or data pipeline
- Generate Python dataclasses from JSON Schemas with built-in validation and serialization
- Check forward compatibility when designing schemas that must accept data from multiple client versions
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need JSON Schema compatibility checking or example generation.
The package is actively maintained, has no known vulnerabilities, and requires no external runtime dependencies. The main caveat is that license metadata is unclear in the fact sheet despite the description mentioning MIT—verify the actual license before use in proprietary contexts. Install friction is medium due to compiled wheels, but that is typical and not a blocker.
Install
jsoncompat on PyPI
Before you install
Medium install friction due to compiled wheels across multiple Python versions and platforms. Actively maintained with recent release history.
Requires Python 3.12 or later.
License in practice
License treatment is unclear; the description excerpt mentions MIT License but the fact sheet does not confirm SPDX or raw license metadata. Verify the actual license before use in proprietary or restricted contexts.
Quickstart
pip install jsoncompat==0.4.2
import jsoncompat as jsc
old_schema = '{"type": "string"}'
new_schema = '{"type": "number"}'
is_compatible = jsc.check_compat(old_schema, new_schema, jsc.Role.BOTH)
print(is_compatible)
Verify before relying
- Whether the MIT License mentioned in the description excerpt is the authoritative license for this package
- Performance characteristics when validating large or deeply nested schemas
- Whether the package handles all JSON Schema draft versions or only specific versions
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 9 days since the last release |
| First released | |
| Downloads | 609,320 / month, #5,773 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: jsoncompat-0.4.2-cp312-cp312-macosx_10_12_x86_64.whl; jsoncompat-0.4.2-cp312-cp312-macosx_11_0_arm64.whl; jsoncompat-0.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; jsoncompat-0.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; jsoncompat-0.4.2-cp312-cp312-musllinux_1_2_aarch64.whl; jsoncompat-0.4.2-cp312-cp312-musllinux_1_2_x86_64.whl; jsoncompat-0.4.2-cp312-cp312-win32.whl; jsoncompat-0.4.2-cp312-cp312-win_amd64.whl; jsoncompat-0.4.2-cp313-cp313-macosx_10_12_x86_64.whl; jsoncompat-0.4.2-cp313-cp313-macosx_11_0_arm64.whl; jsoncompat-0.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; jsoncompat-0.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; jsoncompat-0.4.2-cp313-cp313-musllinux_1_2_aarch64.whl; jsoncompat-0.4.2-cp313-cp313-musllinux_1_2_x86_64.whl; jsoncompat-0.4.2-cp313-cp313-win32.whl; jsoncompat-0.4.2-cp313-cp313-win_amd64.whl; jsoncompat-0.4.2-cp314-cp314-macosx_10_12_x86_64.whl; jsoncompat-0.4.2-cp314-cp314-macosx_11_0_arm64.whl; jsoncompat-0.4.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; jsoncompat-0.4.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.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 schema compatibility checker”
- jsoncompatChecks whether evolving JSON Schemas remain compatible and generates…
- flexValidates Swagger 2.0 API specifications against JSON Schema and…
- kubernetes-validateValidates Kubernetes resource definitions against official Kubernetes…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also jsonschema-pydantic · dataclasses-jsonschema · jsonschema-pydantic-converter · trafaret · eido · kubernetes-validate · datamodel-code-generator · py-avro-schema · jsonalias · genson