A Python Approximate Bayesian Computing (ABC) Population Monte Carlo (PMC) implementation based on Sequential Monte Carlo (SMC) with Particle Filtering techniques.

approximated 2d posterior (created with

The abcpmc package has been developed at ETH Zurich in the Software Lab of the Cosmology Research Group of the ETH Institute of Astronomy.

The development is coordinated on GitHub and contributions are welcome. The documentation of abcpmc is available at and the package is distributed over PyPI.


  • Entirely implemented in Python and easy to extend

  • Follows Beaumont et al. 2009 PMC algorithm

  • Parallelized with muliprocessing or message passing interface (MPI)

  • Extendable with k-nearest neighbour (KNN) or optimal local covariance matrix (OLCM) pertubation kernels (Fillipi et al. 2012)

  • Detailed examples in IPython notebooks


If you have any suggestions or questions about abcpmc feel free to email me at

If you encounter any errors or problems with abcpmc, please let me know!