Skip to main content

JMESPath query engine with 460+ functions - Python bindings for jpx-core and jpx-engine

Project description

jpx

Python bindings for jpx, a JMESPath query engine with 460+ extended functions on top of the standard JMESPath specification.

The bindings are built in Rust with PyO3 and ship as abi3 wheels, so a single wheel per platform works on CPython 3.9 and newer.

Install

pip install jpx

Quick start

import jpx

data = {"people": [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]}

# Run a query
jpx.search("people[?age > `28`].name", data)
# ['Alice']

# Compile once, reuse many times
expr = jpx.compile("people[*].name")
expr.search(data)
# ['Alice', 'Bob']

# Validate an expression without running it
jpx.validate("people[*].name")
# {'valid': True, ...}

Discovering functions

jpx.list_categories()           # extension categories
jpx.list_functions("string")    # functions in a category
jpx.describe("group_by")        # metadata for a single function

Full engine

JpxEngine exposes the complete engine: batch evaluation, function introspection, JSON utilities (diff, patch, merge, stats, paths), and a session-scoped named query store.

from jpx import JpxEngine

engine = JpxEngine()
engine.evaluate("a.b", {"a": {"b": 1}})
engine.diff({"a": 1}, {"a": 2})        # RFC 6902 patch
engine.stats({"a": [1, 2, 3]})          # structural stats

Links

License

MIT OR Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

jpx-0.1.0-cp39-abi3-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.9+Windows x86-64

jpx-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

jpx-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

jpx-0.1.0-cp39-abi3-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

jpx-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file jpx-0.1.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: jpx-0.1.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpx-0.1.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1bc80cadff14c2f6008dc1e256c8c78f064668b9da9ac411279033d79de16efc
MD5 abbc3918612ab8082042655d956418ce
BLAKE2b-256 29b942afbb660fdb4b279a6ff71d816f24b181f95a2055849419a9c871a6fa50

See more details on using hashes here.

Provenance

The following attestation bundles were made for jpx-0.1.0-cp39-abi3-win_amd64.whl:

Publisher: python-release.yml on joshrotenberg/jpx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jpx-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jpx-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c1a4561dbc8f6cfce7bd8b34da434322cdb1cb48f529bbf5881f482c3cd77a3
MD5 6783ebf98e317ef2a99c6ae712318ab5
BLAKE2b-256 e095a17c97a9eca8548c91c770f88ec2658df65200b845bda1bf2204bf9a48a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for jpx-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python-release.yml on joshrotenberg/jpx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jpx-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for jpx-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e41e1f4a42d1df3469dbe9a9a69fe001dbfe081d88f7ec2dff59adee21d83973
MD5 e86756600c5cd802f63499374d1ab45a
BLAKE2b-256 b40344347dabdb24ce19b19e12569cf4ea076070429a983a2fd81a6a1c7d4994

See more details on using hashes here.

Provenance

The following attestation bundles were made for jpx-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: python-release.yml on joshrotenberg/jpx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jpx-0.1.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: jpx-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpx-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 77fbc7681906bfc06931b1484d73bb79637308b0040c570034487e1103c16621
MD5 9b7c8af371a46f8d2330c161b0e7f36c
BLAKE2b-256 b802ac0c5cc26b4c60fc0dee9375f1c44470147860752060024c95c4c89d5b3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for jpx-0.1.0-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: python-release.yml on joshrotenberg/jpx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jpx-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: jpx-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.9+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jpx-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c29d539431661fc73d0d007c5fac334c8ebaae44f6c651c57b1f4d2754adc5d2
MD5 548bc52a682c500f319d62f6ef68f633
BLAKE2b-256 014d5c0e7730626a0a761e0c97ad38083db9d8187b99596d32d9079e2b53d59c

See more details on using hashes here.

Provenance

The following attestation bundles were made for jpx-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: python-release.yml on joshrotenberg/jpx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page