Skip to main content

A JEXL parser and evaluator.

Project description

PyJEXL

CircleCI

A Python-based JEXL parser and evaluator.

NOTE: This library handles the JEXL from TomFrost's JEXL library. It does NOT handle the similarly-named Apache Commons JEXL language.

Limitations and Differences from JEXL

  • JavaScript-style implicit type conversions aren't supported, but may be added in the future. Instead, Python type semantics are used.
  • Property access is only supported for mapping objects currently.
  • Several odd edge-cases in JEXL are ignored because they are unintuitive, difficult to implement, or a bad pattern:
    • Implicitly using the first element in an array when chaining identifiers is not supported. In JEXL, if foo.bar is a list, the expression foo.bar.baz is equivalent to foo.bar[0].baz.
    • Conditional expressions (AKA ternary expressions) cannot have a missing consequent, i.e. "foo" ?: 4 is invalid.

License

Licensed under the MIT License. See LICENSE for details.

Project details


Download files

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

Source Distribution

pyjexl-0.3.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

pyjexl-0.3.0-py2.py3-none-any.whl (9.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyjexl-0.3.0.tar.gz.

File metadata

  • Download URL: pyjexl-0.3.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyjexl-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e7aea7f4d7c3574cb630ca5d026ec0ab5e4e48f20a5f1e495e2740779d0045dd
MD5 963c5a82421b16ac84fbcb3a864caa4e
BLAKE2b-256 ab1d757ac4c9ae2da97cbb2c844fb70395990b5bbacccff5c0297ceefd670c62

See more details on using hashes here.

File details

Details for the file pyjexl-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: pyjexl-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyjexl-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 da486f966546db71c3825fcb57ed2326cbb216e3e823bf4ba2bcda7ac9708a67
MD5 6c55a23a1aa7649be0d3f1b7f5c4fabe
BLAKE2b-256 3b909ae88f756d9e330ed4dc63a21d74328ee674f6abddcb4ac017351dd92d6c

See more details on using hashes here.

Supported by

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