Metadata-Version: 2.0
Name: embexpr
Version: 0.0.1
Summary: embedded python expression parser
Home-page: https://github.com/orisano/embexpr
Author: Nao YONASHIRO
Author-email: owan.orisano@gmail.com
License: MIT
Description-Content-Type: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Dist: six
Requires-Dist: typing

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


