Saturday, October 17, 2026 2,616 lists 63,146 records on file
List your app or device

  1. Home
  2. Statistical Analysis Software
  3. pyabc

pyabc

What it is

pyabc is a free Python package for likelihood-free parameter inference with black-box simulators and observed or synthetic data. It uses Approximate Bayesian Computation with Sequential Monte Carlo to estimate Bayesian posterior distributions without requiring an analytical likelihood function. The package supports multicore and distributed execution, including SGE environments and cloud deployments. Backend options include Dask.distributed, a Redis-based broker, and IPython parallel. Algorithm components can be replaced or extended through custom classes. Optional interfaces connect workflows with R through rpy2 and Julia through PyJulia. Simulation and logging records are stored in SQL databases for later analysis and sharing, with exports available in CSV, feather, JSON, msgpack, HTML, HDF, and Stata formats. Plotting and analysis routines are included, along with a Dash visualization server for running and completed jobs. pyABC requires Python 3.11 or later, installs with pip, and uses a 3-clause BSD license.

For and against

For

  • Likelihood-free Bayesian inference
  • Sequential Monte Carlo posterior estimation
  • Multicore and distributed execution
  • SQL storage and multiple export formats
  • R and Julia interfaces

Against

  • Requires Python 3.11 or later
  • Windows multiprocessing may not work as expected
  • Main development focus is Linux
  • Flask visualization server is deprecated

The verdict

pyabc provides a configurable ABC-SMC workflow for black-box simulation problems, with distributed execution, database storage, exports, and language interfaces. Its Linux focus and Windows multiprocessing limitation matter when choosing an environment.

Who it suits

pyabc suits researchers and developers working with simulator-based Bayesian inference when an analytical likelihood is unavailable. It is aimed mainly at Linux users needing multicore, cluster, or cloud execution.

On the record

Bayesian analysis
Yespyabc.readthedocs.io · read 24 Sep 2026
Customization
Users can customize algorithm aspects by implementing custom classes alongside the package’s default choices.pyabc.readthedocs.io · read 12 Oct 2026
Data exports
Its database export utility supports CSV, feather, JSON, msgpack, HTML, HDF, and Stata formats.pyabc.readthedocs.io · read 12 Oct 2026
Data storage
pyABC stores simulation and logging data in SQL databases for later analysis and sharing.pyabc.readthedocs.io · read 12 Oct 2026
Deployment
desktoppyabc.readthedocs.io · read 24 Sep 2026
Distributed backends
Supported backend modes include Dask.distributed, a Redis based broker, and IPython parallel.pyabc.readthedocs.io · read 12 Oct 2026
Extensibility
Users can experiment with ABC-SMC schemes by customizing algorithm components through classes.pyabc.readthedocs.io · read 12 Oct 2026
Inference method
It uses Approximate Bayesian Computation with a Sequential Monte Carlo scheme for Bayesian posterior estimation.pyabc.readthedocs.io · read 12 Oct 2026
Installation
The package can be installed with pip, including a recommended per-user installation using `pip install --user pyabc`.pyabc.readthedocs.io · read 12 Oct 2026
Integrations
Optional interfaces are available for R via rpy2 and Julia via PyJulia.pyabc.readthedocs.io · read 12 Oct 2026
Language interfaces
The documentation includes interfaces for using R through rpy2 and Julia through PyJulia.pyabc.readthedocs.io · read 12 Oct 2026
License
The package is licensed under a permissive 3-clause BSD license.pyabc.readthedocs.io · read 12 Oct 2026
Method
It implements Approximate Bayesian Computation using Sequential Monte Carlo for Bayesian posterior estimation.pyabc.readthedocs.io · read 12 Oct 2026
No likelihood required
Users do not need to provide an analytical likelihood function.pyabc.readthedocs.io · read 12 Oct 2026
Operating systems
The package is continuously tested on Linux; the documentation says many parts should work on Windows, while noting that its multiprocessing depends on forking and its main development focus is Linux.pyabc.readthedocs.io · read 12 Oct 2026
Parallel computing
It is designed for multicore and distributed environments, including scientific cluster and cloud deployments.pyabc.readthedocs.io · read 12 Oct 2026
Parallel execution
pyABC supports multicore and distributed execution, including SGE environments and cloud deployment.pyabc.readthedocs.io · read 12 Oct 2026
Purpose
pyABC performs likelihood-free parameter inference from a black-box simulator and observed or synthetic data.pyabc.readthedocs.io · read 12 Oct 2026

Alternatives to pyabc

Every alternative, ranked