Aesara is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. Aesara features:

  • tight integration with NumPy – Use numpy.ndarray in Aesara-compiled functions.
  • transparent use of a GPU – Perform data-intensive computations much faster than on a CPU.
  • efficient symbolic differentiation – Aesara does your derivatives for functions with one or many inputs.
  • speed and stability optimizations – Get the right answer for log(1+x) even when x is really tiny.
  • dynamic C code generation – Evaluate expressions faster.
  • extensive unit-testing and self-verification – Detect and diagnose many types of errors.

Aesara is based on Theano, which has been powering large-scale computationally intensive scientific investigations since 2007.


Aesara is available on PyPI, and can be installed via pip install Aesara.

Those interested in bleeding-edge features should obtain the latest development version, available via:

git clone git://github.com/pymc-devs/aesara.git

You can then place the checkout directory on your $PYTHONPATH or use python setup.py develop to install a .pth into your site-packages directory, so that when you pull updates via Git, they will be automatically reflected the “installed” version. For more information about installation and configuration, see installing Aesara.


Roughly in order of what you’ll want to check out: