Python packaging, astropy, and Travis CI

Last week, I started to re-visited quickspeck, a python package by Duncan Hanson that allows to create angular power spectra for cosmic fields under the Limber approximation (see this paper for a nice overview and an extension).

In light of the upcoming CMB lensing workshop at Stanford and our ongoing work on the cross correlation between this lensing signal and the cosmic infrared background, I decided to overhaul this package, improve the dependencies, add more content, tests, continuous integration (CI), etc.

The result of this is the overhauled version of quickspec that I plan to maintain and to extend in the future. For the packaging, I used for the first time the astropy package template, which is designed to create python packages that are affiliated with astropy and might at some point be merged with the astropy project.

It has recently been extended with cookiecutter functionality, which makes the generation of the template really straightforward. The one thing that bugged me a bit was the integration of Travis CI. The challenge here is that quickspec depends on CAMB, the Code for Anisotropies in the Microwave Background. I haven’t build a complete wheel for quickspec yet, so I had to install camb and the python wrapper on the Travis test builds. Due to the gfortran dependency, this turned out to be quite messy. More specifically, it requires gfortran-4.9 or higher, and the standard travis installation is only 4.8. See my .travis.yaml file for my solution to this issue.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s