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.
- 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
Licensed under the MIT License. See LICENSE
for details.