Development Instructions

Nightly builds

If you want to try out the latest, bleeding-edge, unreleased version of ligo.skymap, then you can install the most recent nightly build by running the following command:

$ pip install --upgrade 'ligo.skymap>=0.0.0.dev0'

Source dependencies

If you are building ligo.skymap from source, then in addition to the requirements in the quick start section, you will also need:

You also need a C compiler with good support for the C11 standard. The following compilers are known to work:

Building from source

To build ligo.skymap from source, first clone the git repository:

$ git clone https://git.ligo.org/lscsoft/ligo.skymap.git

Then install it with pip:

$ pip install .

Environment variables that control the build

There are several environment variables that control the build. To activate one of these options, set it to any non-empty value when you run pip install, like this:

$ env LIGO_SKYMAP_USE_SYSTEM_CHEALPIX=1 pip install .

Here is the full list of environment variables.

LIGO_SKYMAP_USE_SYSTEM_CHEALPIX

Use the system installation of chealpix rather than building chealpix from the bundled source code.

LIGO_SKYMAP_USE_ITTNOTIFY

Compile and link against the Intel® Instrumentation and Tracing Technology (ITT) API to add tracepoints for performance measurement using Intel® VTune Profiler.

LIGO_SKYMAP_DISABLE_OPENMP

Disable OpenMP parallelization.

Python version support policy

Generally, the latest release of ligo.skymap supports the Python versions specified by SPEC 0 — Minimum Supported Dependencies. We follow the lead of the main Scientific Python packages that we depend upon (Numpy, Scipy, Astropy) to determine when to drop support for older versions of Python and take advantage of new Python language features.