minimalistic evaluator of Python 3 expression using ast module


ASTEVAL is a safe(ish) evaluator of Python expressions and statements, using Python's ast module. The idea is to provide a simple, safe, and robust miniature mathematical language that can handle user-input. The emphasis here is on mathematical expressions, and so many functions from numpy are imported and used if available.

Many Python lanquage constructs are supported by default, These include slicing, subscripting, list comprehension, conditionals (if-elif-else blocks and if expressions), flow control (for loops, while loops, and try-except-finally blocks). All data are Python objects, and built-in data structures (dictionaries, tuple, lists, numpy arrays, strings) are fully supported by default.

Many of the standard builtin Python functions are available, as are all mathemetical functions from the math module. If the numpy module is installed, many of its functions will also be available. Users can define and run their own functions within the confines of the limitations of asteval.

There are several absences and differences with Python, and asteval is by no means an attempt to reproduce Python with its own ast module. Some of the most important differences and absences are:

  * Variable and function symbol names are held in a simple symbol table
    (a single dictionary), giving a flat namespace.
  * creating classes is not supported.
  * importing modules is not supported.
  * function decorators, yield, lambda, exec, and eval are not
  * files can only be opened in read-only mode.

In addition, accessing many internal methods and classes of objects is forbidden in order to strengthen asteval against malicious user code. .

This package installs the library for Python 3.

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install python3-asteval