Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/orisano/embexpr
safe embedded python expression parser (for mainly easy DSL or config file)
https://github.com/orisano/embexpr
configuration dsl expression-evaluator python
Last synced: 4 months ago
JSON representation
safe embedded python expression parser (for mainly easy DSL or config file)
- Host: GitHub
- URL: https://github.com/orisano/embexpr
- Owner: orisano
- License: mit
- Created: 2017-11-17T10:04:44.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-06-01T23:35:46.000Z (over 3 years ago)
- Last Synced: 2024-10-04T17:51:08.437Z (4 months ago)
- Topics: configuration, dsl, expression-evaluator, python
- Language: Python
- Homepage:
- Size: 72.3 KB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
embexpr
============
.. image:: https://travis-ci.com/orisano/embexpr.svg?branch=master
:target: https://travis-ci.com/orisano/embexpr
.. image:: https://badge.fury.io/py/embexpr.svg
:target: https://badge.fury.io/py/embexpr
.. image:: https://img.shields.io/pypi/pyversions/embexpr.svg
:target: https://pypi.org/project/embexpr/| safe embedded python expression parser (for mainly easy DSL or config file).
Getting Started
-----------------
.. code:: bashpip install embexpr
How to Use
------------
.. code:: pythonfrom 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") == Truetry:
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-safeAuthor
------------
Nao Yonashiro(@orisano)License
------------
MIT