jsonata-python
Pure Python implementation of JSONata
Decision gist · record as of 2026-08-14
Yes. jsonata-python is actively maintained, has zero known vulnerabilities, installs with no friction, and is permissively licensed. Install it if you need to evaluate JSONata expressions in Python or want a command-line tool for JSON querying. The only caveat is the Python 3.10+ requirement and the ISO 8601 date/time limitation on Python versions below 3.11.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; ISO 8601 date/time functions require Python 3.11+
- Low friction install with no runtime dependencies.
- Actively maintained; last release 40 days ago with 104 repository stars.
License · maintenance · safety
permissive license (permissive) — Apache License 2.0 (permissive): you can use, modify, and distribute freely in commercial and private projects, provided you include a copy of the license and note any changes.
last release 2026-07-05 (40 days) · last repo commit 2026-07-05 · 104 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,674,665 downloads/mo, #3,664 on PyPI
Alternatives
Verify before relying
pip install jsonata-python
import jsonata
data = {"example": [{"value": 4}, {"value": 7}, {"value": 13}]}
expr = jsonata.Jsonata("$sum(example.value)")
result = expr.evaluate(data)
print(result) # 24- Performance characteristics when evaluating complex expressions against large datasets
- Behavior of date/time functions on Python 3.10 when ISO 8601 formats are used
What it is and what it does
jsonata-python is a pure Python port of the JSONata reference implementation, a query and transformation language for JSON. It lets you write compact expressions to extract, filter, and reshape JSON data—similar to XPath for XML or jq for command-line JSON work. The package supports the full JSONata language specification with no external dependencies, making it straightforward to embed in Python applications or use as a CLI tool.
The package includes guardrails to protect against untrusted expressions: you can set execution timeouts, stack depth limits, and swap in alternative regex engines to prevent ReDoS attacks. It requires Python 3.10 or later, and date/time functions using ISO 8601 formats require Python 3.11+.
Use it for
- Extract and transform JSON API responses in data pipelines without writing custom parsing code.
- Build a CLI tool that accepts JSONata expressions to query JSON files or stdin.
- Safely evaluate user-provided JSONata expressions in a web service with configurable timeout and stack limits.
- Filter and aggregate nested JSON structures in ETL workflows or reporting systems.
- Implement interactive REPL environments for JSON exploration and ad-hoc data analysis.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
jsonata-python is actively maintained, has zero known vulnerabilities, installs with no friction, and is permissively licensed. Install it if you need to evaluate JSONata expressions in Python or want a command-line tool for JSON querying. The only caveat is the Python 3.10+ requirement and the ISO 8601 date/time limitation on Python versions below 3.11.
Install
jsonata-python on PyPI
Before you install
Low friction install with no runtime dependencies. Actively maintained; last release 40 days ago with 104 repository stars.
Requires Python 3.10 or later; ISO 8601 date/time functions require Python 3.11+
License in practice
Apache License 2.0 (permissive): you can use, modify, and distribute freely in commercial and private projects, provided you include a copy of the license and note any changes.
Quickstart
pip install jsonata-python
import jsonata
data = {"example": [{"value": 4}, {"value": 7}, {"value": 13}]}
expr = jsonata.Jsonata("$sum(example.value)")
result = expr.evaluate(data)
print(result) # 24
Verify before relying
- Performance characteristics when evaluating complex expressions against large datasets
- Behavior of date/time functions on Python 3.10 when ISO 8601 formats are used
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 40 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,674,665 / month, #3,664 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python |
Evidence: jsonata_python-0.7.0-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 › “jsonata expression evaluator”
- jsonata-pythonEvaluates JSONata expressions against JSON data, supporting the full…
- py-expression-evalParses and evaluates mathematical expressions from strings,…
- levalLeval evaluates limited expressions safely by parsing them into an…
Give your agent the search over MCP, or paste the wish link into any chat.
More Text Processing packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.
Install it if you need to parse text or define grammars programmatically.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.
Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.
tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.
Install it if your project requires CSS tokenization or syntax manipulation.
See also py-expression-eval · cel-python · jsonpath-python · json-spec · cql2 · promql-parser · simpleeval · jsonpath-rfc9535 · cel-expr-python · ijson