README.md 2.05 KB
Newer Older
Martin Reinecke's avatar
Martin Reinecke committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
pyHealpix - minimalistic Python interface for Healpix C++
=========================================================

Summary
-------

### Description

This library tries to provide Python bindings for the most important
functionality in Healpix C++. The design goals are
- similarity to the C++ interface (while respecting some Python peculiarities)
- simplicity (no optional function parameters)
- low function calling overhead

The package is implemented purely in C++, making use of the pybind11 package
(https://github.com/pybind/pybind11). It can be compiled for both Python 2 and
3.


Installation
------------

### Requirements

- no external dependencies, all required code is contained in the package
- for building, a modern C++ compiler is required (successfully tested with
  g++ 5.4 clang 4.0 and Intel icpc 17.0)
- for building from the Git repository, GNU autotools are required

### System-wide installation

-   Install dependencies for building:

Martin Reinecke's avatar
Martin Reinecke committed
34
        sudo apt-get install g++ autoconf libtool git
Martin Reinecke's avatar
Martin Reinecke committed
35
36
37
38

-   Install pyHealpix:

        git clone https://gitlab.mpcdf.mpg.de/ift/pyHealpix.git
Martin Reinecke's avatar
Martin Reinecke committed
39
        (cd pyHealpix && autoreconf -i && ./configure --enable-openmp --enable-native-optimizations && make -j4 && sudo make install)
Martin Reinecke's avatar
Martin Reinecke committed
40
41
42
43
44

### Local installation for a single user

-   Install dependencies for building:

Martin Reinecke's avatar
Martin Reinecke committed
45
        sudo apt-get install g++ autoconf libtool git
Martin Reinecke's avatar
Martin Reinecke committed
46
47
48
49

-   Install pyHealpix:

        git clone https://gitlab.mpcdf.mpg.de/ift/pyHealpix.git
Martin Reinecke's avatar
Martin Reinecke committed
50
        (cd pyHealpix && autoreconf -i && ./configure --prefix=$HOME/.local --enable-openmp --enable-native-optimizations && make -j4 install)
Martin Reinecke's avatar
Martin Reinecke committed
51
52
53
54
55
56

### Installation on OS X

-   Install pyHealpix:

        git clone https://gitlab.mpcdf.mpg.de/ift/pyHealpix.git
Martin Reinecke's avatar
Martin Reinecke committed
57
58
59
60
61
        (cd pyHealpix && autoreconf -i && ./configure --prefix=`python-config --prefix` --enable-openmp --enable-native-optimizations && make -j4 && sudo make install)

    (The last command installs the package system-wide. User-specific
    installation would be preferrable, but we haven't found a simple recipe yet
    how to determine the installation prefix ...)