A Python-based JEXL parser and evaluator.
NOTE: This library handles the JEXL from TechnologyAdvice's JEXL library. It does NOT handle the similarly-named Apache Commons JEXL language.
Limitations and Differences from JEXL
- 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.baris a list, the expression
foo.bar.bazis equivalent to
- Conditional expressions (AKA ternary expressions) cannot have a missing
"foo" ?: 4is 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.