check-jsonschema
A jsonschema CLI and pre-commit hook
What it is and what it does
check-jsonschema is a JSON Schema validator that runs as a standalone CLI tool or integrates into pre-commit workflows. It reads JSON or YAML files and validates them against a schema you specify—either a local file or a remote URL (HTTP/HTTPS). Remote schemas are cached automatically to avoid repeated downloads. The tool is built on the jsonschema library and provides a straightforward command-line interface with options like --verbose for detailed output.
It's designed for developers who want to enforce schema compliance in their repositories—common use cases include validating GitHub Actions workflow files, configuration files, or any JSON/YAML document that should conform to a known structure. You can run it manually from the command line or wire it into pre-commit to catch schema violations before commits are made.
Use it for:
- Validate GitHub Actions workflow YAML files in CI/CD pipelines before they run.
- Enforce schema compliance on configuration files (e.g., package.json, pyproject.toml) in pre-commit hooks.
- Batch-validate JSON API responses or data exports against a known schema.
- Catch malformed JSON/YAML in documentation or example files during development.
- Integrate schema validation into build or linting workflows without writing custom code.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A command-line tool and pre-commit hook that validates JSON and YAML files against JSON Schema, with support for local and remote schemas.
Yes. Active maintenance, permissive license, low install friction, no known vulnerabilities, and a focused, well-scoped tool. Install it if you need to validate JSON or YAML against schemas in a CLI or pre-commit context—it does exactly that without bloat.
Install
check-jsonschema on PyPI
pip
pip install check-jsonschemauv
uv add check-jsonschemapoetry
poetry add check-jsonschemaInstalling check-jsonschema
Before you install
Low install friction with a pure-Python wheel. Active maintenance—released 5 days ago with a last commit on 2026-08-10. Depends on six common, well-maintained packages (jsonschema, click, requests, ruamel.yaml, tomli, regress), all of which have minimal transitive load.
License in practice
Licensed under Apache Software License (permissive). No restrictions on commercial use, modification, or redistribution; suitable for most projects.
Quickstart
pip install check-jsonschema
check-jsonschema --schemafile schema.json instance.json
Requires Python 3.10 or later.
Verify before relying
- Whether remote schema caching behavior persists across invocations and how cache invalidation is handled.
- Performance characteristics when validating large files or many files in sequence.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — tomli, ruamel.yaml, jsonschema, regress, requests, click |
| Maintenance | actively maintained — 5 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,885,676/month — #2,461 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: check_jsonschema-0.38.0-py3-none-any.whl
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
fastjsonschemaValidates JSON data against JSON Schema…
permissive · top 1,000 on PyPI
jsonschemajsonschema validates Python data structures…
permissive · top 100 on PyPI
jsonschema-gentypesGenerates Python TypedDict types from JSON…
permissive · top 15,000 on PyPI
kubernetes-validateValidates Kubernetes resource definitions…
permissive · top 15,000 on PyPI
cfgvValidates configuration data against schemas…
permissive · top 1,000 on PyPI
pre-commit-hooksProvides a collection of reusable pre-commit…
permissive · top 5,000 on PyPI
eidoValidates project metadata against PEP schemas…
permissive · top 15,000 on PyPI
pycsvschemaValidates CSV files against a schema…
permissive · top 15,000 on PyPI
jsonschema-rsjsonschema-rs validates JSON data against JSON…
permissive · top 5,000 on PyPI
jschonValidates JSON data against JSON Schema (drafts…
permissive · top 15,000 on PyPI