A JEXL parser and evaluator.
Project description
PyJEXL
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 expressionfoo.bar.baz
is equivalent tofoo.bar[0].baz
. - Conditional expressions (AKA ternary expressions) cannot have a missing
consequent, i.e.
"foo" ?: 4
is invalid.
- Implicitly using the first element in an array when chaining identifiers
is not supported. In JEXL, if
License
Licensed under the MIT License. See LICENSE
for details.
Project details
Release history Release notifications | RSS feed
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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7aea7f4d7c3574cb630ca5d026ec0ab5e4e48f20a5f1e495e2740779d0045dd |
|
MD5 | 963c5a82421b16ac84fbcb3a864caa4e |
|
BLAKE2b-256 | ab1d757ac4c9ae2da97cbb2c844fb70395990b5bbacccff5c0297ceefd670c62 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | da486f966546db71c3825fcb57ed2326cbb216e3e823bf4ba2bcda7ac9708a67 |
|
MD5 | 6c55a23a1aa7649be0d3f1b7f5c4fabe |
|
BLAKE2b-256 | 3b909ae88f756d9e330ed4dc63a21d74328ee674f6abddcb4ac017351dd92d6c |