Skip to content

orisano/embexpr

Repository files navigation

embexpr

https://travis-ci.com/orisano/embexpr.svg?branch=master
safe embedded python expression parser (for mainly easy DSL or config file).

Getting Started

pip install embexpr

How to Use

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

Author

Nao Yonashiro(@orisano)

License

MIT

About

safe embedded python expression parser (for mainly easy DSL or config file)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages