Skip to main content

A JEXL parser and evaluator.

Project description

# PyJEXL

A Python-based JEXL parser and evaluator.

__NOTE:__ This library handles the JEXL from
[TechnologyAdvice's JEXL library][jexl]. It does __NOT__ handle the
similarly-named Apache Commons JEXL language.

[jexl]: https://github.com/TechnologyAdvice/Jexl

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

Files for pyjexl, version 0.2.3
Filename, size File type Python version Upload date Hashes
Filename, size pyjexl-0.2.3-py2.py3-none-any.whl (10.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size pyjexl-0.2.3.tar.gz (7.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page