Below I link to and describe a few codes I’ve written, mostly in Python. All of these, as well as the source code for individual papers, are available on Github. Please feel free to use and edit them; all should be under a permissive licence.


evstats is a python module for calculating extreme value statistics of the halo and galaxy stellar mass distributions. Full details provided in arXiv:2208.10479.

Orientation Bias

SMG orientation

Orientation bias is a python module for predicting the orientation bias and incompleteness of arbitrary submillimetre surveys. The code and further details are on Github.


Sengi ( is a small, fast, interactive viewer for SPS spectra. It uses Non-negative Matrix Factorisation and bilinear interpolation to reconstruct spectra for arbitrary values of age and metallicity.


The source code is available on Github here. The code paper is currently available on the arXiv.


Spectacle is a python module for generating spectra from cosmological simulations. Uses Schwimmbad for flexible parallelisation.

Documentation is updated here, and the source code is available on Github.


eagle_io is a python module for reading outputs from the Eagle simulation in native python, with optional multithreading using Schwimmbad.

Documentation is being updated here, and the source code is here


FitDF is a python code for fitting distribution functions through MCMC. It uses the emcee package.

Read the docs here, and find the source code here.


Galaxy Overdensity Analysis (goa) is a python package for running the protocluster statistics pipeline in Lovell+18.


Voigt Automatic MCMC Profiles (VAMP) is a python code for fitting Voigt absorption profiles using MCMC in python. It’s currently being updated to python 3 using PyMC3 - watch this space!