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.1.tar.gz
(4.1 kB
view hashes)
Built Distribution
Close
Hashes for embexpr-0.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3222e60c77c25f0fa4a5a26d23708044b1a5d22f020517596b2ca97b09581ec2 |
|
MD5 | 5f35f112a2d0e9a67df25df2c879a012 |
|
BLAKE2b-256 | 760c65460d424ba283b86c339f44d9c589b952739d58fec3b89a7931fe31fe21 |