Skip to content

Releases: lmfit/asteval

1.0.0

01 Jul 16:12
Compare
Choose a tag to compare

Asteval 1.0.0

Asteval has been fairly mature for a while, with major improvements since version 0.9.29 over the past year or so making it feel like it has reached a point where the features and API are stable enough to call version 1.0.0.

Changes compared to 0.9.33:

  • fix (again) nested list comprehension (Issues #127 and #126).
  • add more testing of multiple list comprehensions.
  • more complete support for Numpy 2, and removal of many Numpy symbols that have been long deprecated.
  • remove AST nodes deprecated in Python 3.8.
  • clean up build files and outdated tests.
  • fixes to codecov configuration.
  • update docs.

0.9.33

23 May 15:37
Compare
Choose a tag to compare

Fixes:

  • fixes for multiple list comprehensions (addressing #126)
  • add testing with optionally installed numpy_financial to CI
  • test existence of all numpy imports to better safeguard against missing functions (for safer numpy 2 transition)
  • update rendered doc to include PDF and zipped HTML

0.9.32

03 Mar 18:50
Compare
Choose a tag to compare
  • add deprecations message for numpy functions to be removed in numpy 2.0 (#122)
  • comparison operations use try/except for short-circuiting instead of checking for numpy arrays (addressing #123)
  • add Python 3.12 to testing
  • move repository from "newville" to "lmfit" organization
  • update doc theme, GitHub locations pointed to by docs, other doc tweaks.

0.9.31

16 Jul 18:33
Compare
Choose a tag to compare
  • cleanup numpy imports to avoid deprecated functions, add financial functions from numpy_financial module, if installed.
  • prefer 'user_symbols' when initializing Interpreter, but still support 'usersyms' argument. Will deprecate and remove eventually.
  • add support of optional (off-by default) "nested symbol table", based on a Group object that can be accessed from Python either with dict syntax (ie aeval.symtable['x']) or with object attribute access (aeval.symtable.x). In addition, symbols can be found by looking first in the top-level symbol table and then in sub-Groups named in symtable._searchgroups, allowing for a more hierarchical, nested symbol table. This should be considered experimental and is off by default. The make_symbol_table() function gains a nested=False argument to control whether to use this option.
  • update tests to run most tests with symbol tables of dict and nested group type.
  • general code and testing cleanup.

0.9.30

18 Jun 03:39
Compare
Choose a tag to compare
  • add config argument to Interpreter to more fully control which nodes are supported
  • add support for import and importfrom -- off by default
  • add support for with blocks
  • add support for f-strings
  • add support of set and dict comprehension
  • fix bug with 'int**int' not returning a float.

0.9.29

11 Feb 21:55
Compare
Choose a tag to compare

bug fixes

0.9.28

07 Nov 21:52
Compare
Choose a tag to compare
  • add support for Python 3.11
  • add support for multiple list comprehensions
  • improve performance of making the initial symbol table, and Interpreter creation, including better checking for index_tricks attributes

0.9.27

24 May 15:52
Compare
Choose a tag to compare
more cleanups

0.9.26

16 Jan 14:50
Compare
Choose a tag to compare
fix setup.py again

0.9.25

22 Jun 12:00
Compare
Choose a tag to compare

fixes import errors for Py3.6 and 3.7, setting version with importlib_metadata.version if available.

also fixes CI testing with github actions so that the proper version of Python is actually used in the test!