  Given the complexity of modern cosmological parameter inference where we are
faced with non-Gaussian data and noise, correlated systematics and multi-probe
correlated data sets, the Approximate Bayesian Computation (ABC) method is a
promising alternative to traditional Markov Chain Monte Carlo approaches in the
case where the Likelihood is intractable or unknown. The ABC method is called
"Likelihood free" as it avoids explicit evaluation of the Likelihood by using a
forward model simulation of the data which can include systematics. We
introduce astroABC, an open source ABC Sequential Monte Carlo (SMC) sampler for
parameter estimation. A key challenge in astrophysics is the efficient use of
large multi-probe datasets to constrain high dimensional, possibly correlated
parameter spaces. With this in mind astroABC allows for massive parallelization
using MPI, a framework that handles spawning of jobs across multiple nodes. A
key new feature of astroABC is the ability to create MPI groups with different
communicators, one for the sampler and several others for the forward model
simulation, which speeds up sampling time considerably. For smaller jobs the
Python multiprocessing option is also available. Other key features include: a
Sequential Monte Carlo sampler, a method for iteratively adapting tolerance
levels, local covariance estimate using scikit-learn's KDTree, modules for
specifying optimal covariance matrix for a component-wise or multivariate
normal perturbation kernel, output and restart files are backed up every
iteration, user defined metric and simulation methods, a module for specifying
heterogeneous parameter priors including non-standard prior PDFs, a module for
specifying a constant, linear, log or exponential tolerance level,
well-documented examples and sample scripts. This code is hosted online at
https://github.com/EliseJ/astroABC
