No description, website, or topics provided.
Python
Switch branches/tags
Clone or download
Pull request Compare This branch is 15 commits behind mozilla:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
pyjexl
tests
.gitignore
LICENSE
MANIFEST.in
README.md
circle.yml
requirements.txt
setup.cfg
setup.py
tox.ini

README.md

PyJEXL

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

  • 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.