json-spec
Implements JSON Schema, JSON Pointer and JSON Reference.
Decision gist · record as of 2026-08-14
Yes, if you need JSON Schema validation or JSON Pointer/Reference support and can tolerate dormant maintenance. The low install friction, permissive license, no known vulnerabilities, and stable API make it suitable for established projects. Not recommended if you require active maintenance or expect frequent updates to JSON specification support.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction installation with a single runtime dependency (importlib-metadata).
- Dormant maintenance status—last release 2024-04-29, last commit 2024-06-12—means no active development but the codebase remains stable and archived repository is not flagged.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and retain copyright notices.
last release 2024-04-29 (837 days) · last repo commit 2024-06-12 · 38 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 455,004 downloads/mo, #6,563 on PyPI
Alternatives
Verify before relying
pip install json-spec
from jsonspec.pointer import extract
obj = {'foo': ['bar', 'baz', 'quux']}
result = extract(obj, '/foo/1')- Whether the dormant maintenance status affects long-term compatibility with future Python versions beyond 3.12.
- Performance characteristics when validating large or deeply nested JSON documents.
What it is and what it does
json-spec is a library and CLI tool that implements three JSON specifications: JSON Schema for validation, JSON Pointer for navigating document paths, and JSON Reference for resolving references within JSON structures. It provides both a programmatic API for Python scripts and command-line commands (json add, json check, json copy, json extract, json move, json remove, json replace, json validate) for JSON document manipulation.
The library works with Python 3.10 and above and has minimal dependencies, making it straightforward to install. You can use it to validate data against schemas, extract nested values by path, resolve cross-references, and transform JSON documents. Optional extras like [cli] and [ip] enable additional features such as colorized output and IP format support for JSON Schema.
Use it for
- Validate incoming API payloads or configuration files against a JSON Schema before processing.
- Extract specific nested values from large JSON documents using JSON Pointer paths.
- Resolve $ref references in JSON documents to follow and validate linked schemas.
- Transform JSON documents via CLI commands (add, remove, replace, move) in shell scripts or pipelines.
- Test JSON data structures programmatically in unit tests using schema validation.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need JSON Schema validation or JSON Pointer/Reference support and can tolerate dormant maintenance.
The low install friction, permissive license, no known vulnerabilities, and stable API make it suitable for established projects. Not recommended if you require active maintenance or expect frequent updates to JSON specification support.
Install
json-spec on PyPI
Before you install
Low friction installation with a single runtime dependency (importlib-metadata). Dormant maintenance status—last release 2024-04-29, last commit 2024-06-12—means no active development but the codebase remains stable and archived repository is not flagged.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and retain copyright notices.
Quickstart
pip install json-spec
from jsonspec.pointer import extract
obj = {'foo': ['bar', 'baz', 'quux']}
result = extract(obj, '/foo/1')
Verify before relying
- Whether the dormant maintenance status affects long-term compatibility with future Python versions beyond 3.12.
- Performance characteristics when validating large or deeply nested JSON documents.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release <4.0,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageimportlib-metadata |
| Maintenance | Dormant 837 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 455,004 / month, #6,563 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: ConsoleEnvironment :: OpenStackIntended Audience :: DevelopersIntended Audience :: Information TechnologyLicense :: OSI Approved :: Apache Software LicenseLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12 |
Evidence: json_spec-0.12.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
An agent finds packages by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language. Give your agent the search over MCP.
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 jsonpointer · jsonschema2md · json-ref-dict · jmespath · python-jsonpath · jsonmerge · check-jsonschema · jschon · jsonata-python · openjd-model