FREEDOM251

Freedom251 › Statistical Analysis Software

pyabc

Free plan APIiPhoneLinuxSelf-hostedWebWindows

Visit pyabc Alternatives

pyabc's own site

What pyabc is

pyABC is a free Python package for estimating Bayesian parameters when a black-box simulator is available but no analytical likelihood can be supplied. It uses Approximate Bayesian Computation with Sequential Monte Carlo to estimate posterior distributions from observed or synthetic data. Simulations can run on multicore systems or distributed environments, including SGE clusters and cloud deployments. Supported backends include Dask.distributed, a Redis-based broker, and IPython parallel. Users can replace algorithm components with custom classes. Optional interfaces connect to R through rpy2 and Julia through PyJulia. Simulation and logging records are stored in SQL databases for later analysis and sharing, with exports including CSV, feather, JSON, msgpack, HTML, HDF, and Stata. Plotting and analysis routines are included, along with a Dash visualization server for running and completed jobs. pyABC requires Python 3.11 or later and installs with pip. It is continuously tested on Linux; many parts may work on Windows, but multiprocessing depends on forking. The Flask visualization server is deprecated.

Who it suits

It suits researchers and developers performing likelihood-free Bayesian inference with simulators, especially in multicore, cluster, or cloud environments.

What it does well

  • Performs likelihood-free Bayesian inference
  • Supports multicore and distributed execution
  • Stores simulation data in SQL databases
  • Provides multiple export formats
  • Offers R and Julia interfaces

What to know first

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

Verdict

pyABC provides a customizable ABC-SMC workflow with distributed execution, database storage, and language interfaces. Check platform and Python requirements before adopting it.

Facts from pyabc's own pages

Bayesian analysis
Yes · pyabc.readthedocs.io, 24 Sept 2026
Customization
Users can customize algorithm aspects by implementing custom classes alongside the package’s default choices. · pyabc.readthedocs.io, 12 Oct 2026
Data exports
Its database export utility supports CSV, feather, JSON, msgpack, HTML, HDF, and Stata formats. · pyabc.readthedocs.io, 12 Oct 2026
Data storage
pyABC stores simulation and logging data in SQL databases for later analysis and sharing. · pyabc.readthedocs.io, 12 Oct 2026
Deployment
desktop · pyabc.readthedocs.io, 24 Sept 2026
Distributed backends
Supported backend modes include Dask.distributed, a Redis based broker, and IPython parallel. · pyabc.readthedocs.io, 12 Oct 2026
Extensibility
Users can experiment with ABC-SMC schemes by customizing algorithm components through classes. · pyabc.readthedocs.io, 12 Oct 2026
Free plan
Yes · pyabc.readthedocs.io, 24 Sept 2026
Inference method
It uses Approximate Bayesian Computation with a Sequential Monte Carlo scheme for Bayesian posterior estimation. · pyabc.readthedocs.io, 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, 12 Oct 2026
Integrations
Optional interfaces are available for R via rpy2 and Julia via PyJulia. · pyabc.readthedocs.io, 12 Oct 2026
Language interfaces
The documentation includes interfaces for using R through rpy2 and Julia through PyJulia. · pyabc.readthedocs.io, 12 Oct 2026
License
The package is licensed under a permissive 3-clause BSD license. · pyabc.readthedocs.io, 12 Oct 2026
Method
It implements Approximate Bayesian Computation using Sequential Monte Carlo for Bayesian posterior estimation. · pyabc.readthedocs.io, 12 Oct 2026
No likelihood required
Users do not need to provide an analytical likelihood function. · pyabc.readthedocs.io, 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, 12 Oct 2026
Parallel computing
It is designed for multicore and distributed environments, including scientific cluster and cloud deployments. · pyabc.readthedocs.io, 12 Oct 2026
Parallel execution
pyABC supports multicore and distributed execution, including SGE environments and cloud deployment. · pyabc.readthedocs.io, 12 Oct 2026
Purpose
pyABC performs likelihood-free parameter inference from a black-box simulator and observed or synthetic data. · pyabc.readthedocs.io, 12 Oct 2026
Requirements and platforms
pyABC requires Python 3.11 or later, is continuously tested on Linux and partly on iOS, and its main development focus is Linux. · pyabc.readthedocs.io, 12 Oct 2026
Scientific integrations
Documented examples cover PEtab import, yaml2sbml, and COPASI through BasiCO. · pyabc.readthedocs.io, 12 Oct 2026
Scripting support
Yes · pyabc.readthedocs.io, 24 Sept 2026
Storage
pyABC stores simulation and logging data in SQL databases for later analysis and sharing. · pyabc.readthedocs.io, 12 Oct 2026
Support
The project invites users needing help to contact the maintainers and suggests filing general-interest issues on GitHub. · pyabc.readthedocs.io, 12 Oct 2026

Where pyabc stands on Freedom251

Look at these too