Web lists-archives.com

Bug#907283: ITP: python-asteval -- minimalistic evaluator of Python 3 expression using ast module

Package: wnpp
Severity: wishlist
Owner: Andreas Tille <tille@xxxxxxxxxx>

* Package name    : python-asteval
  Version         : 0.9.12
  Upstream Author : Matthew Newville <newville@xxxxxxxxxxxxxxxxx>
* URL             : https://github.com/newville/asteval
* License         : MIT
  Programming Lang: Python
  Description     : 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. .

Remark: This package is maintained by Debian Science Maintainers at
This package is needed for the latest version of lmfit-py which needs
both Python 2 and Python 3 module.