Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jakeret/hope
HOPE: A Python Just-In-Time compiler for astrophysical computations
https://github.com/jakeret/hope
Last synced: 5 days ago
JSON representation
HOPE: A Python Just-In-Time compiler for astrophysical computations
- Host: GitHub
- URL: https://github.com/jakeret/hope
- Owner: jakeret
- License: gpl-3.0
- Created: 2014-09-30T09:23:13.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2021-06-10T08:18:33.000Z (over 3 years ago)
- Last Synced: 2024-12-24T15:16:43.045Z (12 days ago)
- Language: Python
- Size: 400 KB
- Stars: 382
- Watchers: 25
- Forks: 27
- Open Issues: 12
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
======================================================
HOPE - combine the ease of Python and the speed of C++
======================================================.. image:: https://badge.fury.io/py/hope.svg
:target: http://badge.fury.io/py/hope.. image:: https://travis-ci.org/cosmo-ethz/hope.svg?branch=master
:target: https://travis-ci.org/cosmo-ethz/hope
.. image:: https://coveralls.io/repos/cosmo-ethz/hope/badge.svg?branch=master
:target: https://coveralls.io/r/cosmo-ethz/hope?branch=master.. image:: https://img.shields.io/badge/docs-latest-blue.svg?style=flat
:target: http://hope.readthedocs.org/en/latest.. image:: http://img.shields.io/badge/arXiv-1410.4345-brightgreen.svg?style=flat
:target: http://arxiv.org/abs/1410.4345**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:
.. code-block:: python
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