safe embedded python expression parser
Project description
embexpr
============
.. image:: https://travis-ci.org/orisano/embexpr.svg?branch=master
:target: https://travis-ci.org/orisano/embexpr
| safe embedded python expression parser (for mainly easy DSL or config file).
Getting Started
------------
.. code:: bash
pip install embexpr
How to Use
------------
.. code:: python
from embexpr import Expr, ParseError
assert Expr('3 * 5')() == 15
assert Expr('"foo" + "bar"')() == "foobar"
assert Expr('len("example")')() == 7
assert Expr('s.startswith("prefix_")')(s="prefix_suffix") == True
try:
Expr('eval("1")')()
except ParseError as e:
print(e)
Reference
------------
https://github.com/ansible/ansible/blob/devel/lib/ansible/template/safe_eval.py
http://stackoverflow.com/questions/12523516/using-ast-and-whitelists-to-make-pythons-eval-safe
License
------------
MIT
============
.. image:: https://travis-ci.org/orisano/embexpr.svg?branch=master
:target: https://travis-ci.org/orisano/embexpr
| safe embedded python expression parser (for mainly easy DSL or config file).
Getting Started
------------
.. code:: bash
pip install embexpr
How to Use
------------
.. code:: python
from embexpr import Expr, ParseError
assert Expr('3 * 5')() == 15
assert Expr('"foo" + "bar"')() == "foobar"
assert Expr('len("example")')() == 7
assert Expr('s.startswith("prefix_")')(s="prefix_suffix") == True
try:
Expr('eval("1")')()
except ParseError as e:
print(e)
Reference
------------
https://github.com/ansible/ansible/blob/devel/lib/ansible/template/safe_eval.py
http://stackoverflow.com/questions/12523516/using-ast-and-whitelists-to-make-pythons-eval-safe
License
------------
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
embexpr-1.0.1.tar.gz
(4.1 kB
view hashes)
Built Distribution
Close
Hashes for embexpr-1.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46bda31a7d887f2bee5dea4ce2c0961d3fdb9facb4357210f5078c7af8391a24 |
|
MD5 | e45cbb49ea462b801834e4a4cd8f91bc |
|
BLAKE2b-256 | 7ebc62a20dc6c05cc3fc150c98771fd415d68fdb274943ed494b6284914d9e9d |