embedded python expression parser
Project description
embexpr
============
embedded python expression parser (for mainly easy DSL or config file)
this library is prealpha. not recommended production use.
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
============
embedded python expression parser (for mainly easy DSL or config file)
this library is prealpha. not recommended production use.
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-0.0.1.tar.gz
(2.9 kB
view hashes)
Built Distribution
Close
Hashes for embexpr-0.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c18efa5c143c355d926cd088da3ba9ec6ebb8038c4dd969ce0c07b13ab7586d |
|
MD5 | 318f8bcd8511e41094713dd042e2e2cd |
|
BLAKE2b-256 | 4191de498683fb779e300abd9c5d5fa9aafd748cfcec4142f1b3c3468908a0f2 |