embedded python expression parser
Project description
embexpr
============
| embedded python expression parser (for mainly easy DSL or config file).
| this library is pre-alpha. not recommended to 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 pre-alpha. not recommended to 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.1.0.tar.gz
(4.0 kB
view hashes)
Built Distribution
Close
Hashes for embexpr-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6e82807e4d6b0f180a5f35789a50a00a2b66cf859fd27e3606e53137c39500d |
|
MD5 | c30dccec5436df2a30e4be61533142b8 |
|
BLAKE2b-256 | a4946deea7dae6e510a393a31ebdd37ab803905902a1095b309cc5e258966e38 |