HOPE: A Python Just-In-Time compiler for astrophysical computations
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmarks
docs
examples
hope
test
.gitignore
.project
.pydevproject
.travis.yml
AUTHORS.rst
CONTRIBUTING.rst
HISTORY.rst
LICENSE first commit Oct 16, 2014
MANIFEST.in
Makefile
README.rst
requirements.txt
setup.cfg first commit Oct 16, 2014
setup.py
tox.ini

README.rst

HOPE - combine the ease of Python and the speed of C++

https://travis-ci.org/cosmo-ethz/hope.svg?branch=master https://coveralls.io/repos/cosmo-ethz/hope/badge.svg?branch=master https://img.shields.io/badge/docs-latest-blue.svg?style=flat http://img.shields.io/badge/arXiv-1410.4345-brightgreen.svg?style=flat

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 HOPE package has been developed at ETH Zurich in the Software Lab of the Cosmology Research Group of the ETH Institute of Astronomy, and is now publicly available at GitHub.

Further information on the package can be found in our paper, on readthedocs.org and on our website.

Installation

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