jsonpath-rfc9535
RFC 9535 - JSONPath: Query Expressions for JSON in Python
What it is and what it does
jsonpath-rfc9535 is a Python implementation of RFC 9535, the standardized JSONPath specification for querying JSON data. It provides a strict, standards-compliant way to extract values from nested JSON structures using path expressions similar to XPath for XML. The package exports a simple API: find() to get all matches, find_one() for the first match, and finditer() for lazy iteration. Each matched node carries its value, normalized path location, and parent reference, allowing you to both read and mutate data in place.
The implementation depends on iregexp-check and regex for expression evaluation. It supports Python 3.8 through 3.14 on both CPython and PyPy, and has been tested against the JSONPath Compliance Test Suite to ensure RFC adherence. The package is lightweight (pure Python wheel), carries no known vulnerabilities, and is distributed under the permissive MIT license.
Use it for:
- Extract specific fields from deeply nested JSON API responses without manual traversal.
- Filter array elements in JSON documents using query expressions (e.g., find users with score > 85).
- Compile and reuse a JSONPath query against multiple JSON-like data structures for efficiency.
- Read and mutate JSON values in place by assigning to matched node.value properties.
- Process JSON loaded from files or YAML sources using a single, standards-compliant query language.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Queries JSON data using RFC 9535 JSONPath expressions, returning matched values with their locations and parent references.
Yes, if you need RFC 9535–compliant JSONPath queries. The package is lightweight, well-licensed, has no known vulnerabilities, and supports modern Python versions. However, note the 257-day gap since last release—maintenance appears inactive, so consider this if you need active bug fixes or feature development. For standards-compliant querying of JSON data, it is a solid choice.
Install
jsonpath-rfc9535 on PyPI
pip
pip install jsonpath-rfc9535uv
uv add jsonpath-rfc9535poetry
poetry add jsonpath-rfc9535Installing jsonpath-rfc9535
Before you install
Low friction: pure Python wheel with only two runtime dependencies (iregexp-check and regex). Last commit was recent, though the project shows aging maintenance status with no activity for 257 days since the last release.
License in practice
MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute the package freely provided you include the license notice.
Quickstart
pip install jsonpath-rfc9535
import jsonpath_rfc9535 as jsonpath
data = {"users": [{"name": "Sue", "score": 100}]}
for node in jsonpath.find("$.users[?@.score > 85]", data):
print(node.value)
Verify before relying
- Performance characteristics when querying very large JSON documents or complex nested structures.
- Stability and bug-fix cadence given the 257-day gap since last release despite aging status.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — iregexp-check, regex |
| Maintenance | aging — 257 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 483,653/month — #6,411 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: jsonpath_rfc9535-1.0.0-py3-none-any.whl
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
python-jsonpathImplements RFC 9535-compliant JSONPath query…
permissive · top 5,000 on PyPI
jsonpath-ngParse, query, and modify JSON structures using…
permissive · top 1,000 on PyPI
jsonpath-rwParses and executes JSONPath expressions…
permissive · top 5,000 on PyPI
jsonpath-pythonExtracts, filters, sorts, and updates values in…
permissive · top 1,000 on PyPI
bc-jsonpath-ngParses and queries JSON structures using…
permissive · top 5,000 on PyPI
jsonpathImplements JSONPath, a query language for…
permissive · top 5,000 on PyPI
objectpathObjectPath is a query language for finding and…
permissive · top 15,000 on PyPI
jsonpath-rw-extExtends JSONPath RW with additional query…
permissive · top 5,000 on PyPI
robotframework-jsonlibraryA Robot Framework library for querying, adding,…
permissive · top 15,000 on PyPI
jqPython bindings for jq 1.8.2 that let you…
permissive · top 5,000 on PyPI