jsonata-rs
Python bindings for the Rust port of jsonata-java.
- PyPI distribution name:
jsonata-rs—pip install jsonata-rs - Import name:
jsonata—import jsonata - Requires Python ≥ 3.11; published as a single
abi3wheel per platform (Linux amd64 + arm64, macOS arm64).
import jsonata
expr = jsonata.Jsonata("Account.Order.Product.(Price * Quantity) ~> $sum()")
expr.evaluate(data) # evaluate against a dict / list / scalar
# variable bindings
jsonata.Jsonata("$x + 1").evaluate(None, {"x": 41}) # -> 42
# one-shot convenience
jsonata.evaluate("a + b", {"a": 2, "b": 3}) # -> 5
# custom functions written in Python
e = jsonata.Jsonata("$greet(name)")
e.register_function("greet", lambda n: f"Hello, {n}!")
e.evaluate({"name": "World"}) # -> "Hello, World!"
Errors raise jsonata.JsonataError with .code (e.g. "S0201") and .position.
An internal engine bug (a caught Rust panic) raises jsonata.JsonataInternalError
— a subclass of JsonataError, so existing handlers still catch it — with
.code == "PANIC" and a .panic_location.
try:
result = jsonata.Jsonata(expr).evaluate(data)
except jsonata.JsonataError as e:
print(e.code, e.position) # e.g. "S0201" 4
Type checking
The package ships PEP 561 type information (a jsonata.pyi stub plus a
py.typed marker), so mypy and pyright type the full public API out of the box —
including JsonataError.code: str, .position: int, and
JsonataInternalError.panic_location: str | None. No stub package to install.
Value mapping
| JSONata | Python |
|---|---|
| number | int (whole) / float |
| string | str |
| boolean | bool |
| null | None |
| undefined | None |
| array | list |
| object | dict |
Building
pip install maturin
maturin build --release -m crates/jsonata-py/Cargo.toml # wheel in target/wheels/
# or for local dev:
maturin develop --release -m crates/jsonata-py/Cargo.toml
CI (.github/workflows/CI.yml) cross-builds wheels for amd64 + arm64 across
Linux (manylinux + musllinux) and macOS with PyO3/maturin-action, and
publishes to PyPI with pypa/gh-action-pypi-publish (Trusted Publishing) on tag
pushes.
Metadata
Release files for jsonata-rs 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| jsonata_rs-0.1.4.tar.gz | 438.3 kB | With provenance | Details for jsonata_rs-0.1.4.tar.gz |
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| jsonata_rs-0.1.4-cp311-abi3-musllinux_1_2_x86_64.whl | CPython 3.11 | abi3 | Linux musl 1.2+ x86-64 | Details for jsonata_rs-0.1.4-cp311-abi3-musllinux_1_2_x86_64.whl |
| jsonata_rs-0.1.4-cp311-abi3-musllinux_1_2_aarch64.whl | CPython 3.11 | abi3 | Linux musl 1.2+ ARM64 | Details for jsonata_rs-0.1.4-cp311-abi3-musllinux_1_2_aarch64.whl |
| jsonata_rs-0.1.4-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.11 | abi3 | Linux glibc 2.17+ x86-64 | Details for jsonata_rs-0.1.4-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
| jsonata_rs-0.1.4-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.11 | abi3 | Linux glibc 2.17+ ARM64 | Details for jsonata_rs-0.1.4-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
| jsonata_rs-0.1.4-cp311-abi3-macosx_11_0_arm64.whl | CPython 3.11 | abi3 | macOS 11.0+ ARM64 | Details for jsonata_rs-0.1.4-cp311-abi3-macosx_11_0_arm64.whl |
Total release size: 8.9 MB
Release files / jsonata_rs-0.1.4.tar.gz
| Download URL | jsonata_rs-0.1.4.tar.gz |
|---|---|
| Size | 438.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7062a2d5864876df778ad0fdfa87d71c6bdbe0959b1802324fb1cf3281ce116d
|
|
BLAKE2b-256 checksum How to use checksums |
166fe3ab93e241100ce8ee08642d42203748345dfc597f869edf2364b6ac5a04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logRelease files / jsonata_rs-0.1.4-cp311-abi3-musllinux_1_2_x86_64.whl
| Download URL | jsonata_rs-0.1.4-cp311-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
c898411aad514f3bfe87df545e16e4d2a9d10e94568ef0684b5a57364b5b9f40
|
|
BLAKE2b-256 checksum How to use checksums |
7a01ad35b43f8e9f428829c9a7a0c505d417efef7a4933699a9a26c9c5a2f47e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logRelease files / jsonata_rs-0.1.4-cp311-abi3-musllinux_1_2_aarch64.whl
| Download URL | jsonata_rs-0.1.4-cp311-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
1346ead149f0ec35bd80750c7252f352bdacd36e2ee1f1000af7099a000d969a
|
|
BLAKE2b-256 checksum How to use checksums |
28abcbce06d9aa8690eb21928ba6d0db2eee3f9dbbe857befb958dd5377f3990
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logRelease files / jsonata_rs-0.1.4-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jsonata_rs-0.1.4-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
7e38fda2630ceaa1885ecbadfab43571d9bbc64caf72c8f39238663d88f4bbf7
|
|
BLAKE2b-256 checksum How to use checksums |
a28949227a57a30f1725b5dce4151ac38291a316875ddd315233b38294975241
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logRelease files / jsonata_rs-0.1.4-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | jsonata_rs-0.1.4-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
200e7a20891f503ab9ecbde5e14e54a061221a88f747659b96499b6daf4d4cd3
|
|
BLAKE2b-256 checksum How to use checksums |
7cac9ce0990f07be9b462c34a17ab5b5d17026ed13cb2efdf16b866888d1aac3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logRelease files / jsonata_rs-0.1.4-cp311-abi3-macosx_11_0_arm64.whl
| Download URL | jsonata_rs-0.1.4-cp311-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d81fa180bf7c15b181a589b4798c83512161a698e9dd8e9762cd5748cc9a2a5e
|
|
BLAKE2b-256 checksum How to use checksums |
3cdd163cf600792e5448cf7095ee5a12172ede1cf42f402268fb0dd72ed6c587
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logSecurity for jsonata-rs 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 6 files in this release have been uploaded with provenance metadata.
Attestation for jsonata_rs-0.1.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.