Installing Asteval

Requirements

Asteval is a pure Python module. The latest stable version is 0.9.32, which supports Python 3.8 through 3.12.

Installing asteval requires setuptools and setuptools_scm. No other libraries outside of the standard library are required. If numpy and numpy_financial are available, asteval will make use of these libraries. Running the test suite requires the pytest, coverage, and pytest-cov modules, deployment uses build and twine, and building the documentation requires sphinx.

Python 3.8 through 3.12 are tested on Windows, MacOS, and Linux, with and without numpy installed. Older Python versions have generally been supported by asteval until they are well past the end of security fixes. That is, while asteval is no longer tested with Python 3.7, the latest release may continue to work with that version.

Support for new versions of the Python 3 series is not guaranteed until some time after the official release of that version, as we may not start testing until late in the “beta” period of development. Historically, the delay has not been too long, though asteval may not support newly introduced language features.

Installing with pip

The latest stable version of asteval is 0.9.32 and is available at PyPI or as a conda package. You should be able to install asteval with:

pip install asteval

It may also be available on some conda channels, including conda-forge, but as it is a pure Python package with no dependencies or OS-specific extensions, using pip should be the preferred method on all platforms and environments.

Development Version

The latest development version can be found at the github repository, and cloned with:

git clone https://github.com/lmfit/asteval.git

Installation from the source tree on any platform is can then be done with:

pip install .

License

The asteval code and documentation is distribution under the following license:

The MIT License

Copyright (c) 2024 Matthew Newville, The University of Chicago

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.