HOPE is a specialized method-at-a-time JIT compiler written in Python for translating Python source code into C++ and compiles this at runtime. In contrast to other existing JIT compliers, which are designed for general purpose, we have focused our development of the subset of the Python language that is most relevant for astrophysical calculations. By concentrating on this subset, HOPE is able to achieve the highest possible performance
By using HOPE, the user can benefit from being able to write common numerical code in Python and having the performance of compiled implementation. To enable the HOPE JIT compilation, the user needs to add a decorator to the function definition. The package does not require additional information, which ensures that HOPE is as non-intrusive as possible:
from hope import jit @jit def sum(x, y): return x + y
The package has been uploaded to PyPI and can be installed at the command line via pip:
$ pip install hope
Or, if you have virtualenvwrapper installed:
$ mkvirtualenv hope $ pip install hope
Note: Make sure to execute the native_cpp_gen the first time in order to generate the native C++ code and some Python utility modules.