SALib
Tools for global sensitivity analysis. Contains Sobol', Morris, FAST, DGSM, PAWN, HDMR, Moment Independent and fractional factorial methods
What it is and what it does
SALib is a Python library for global sensitivity analysis—a set of statistical methods to determine which inputs to a computational model have the largest effect on its outputs. It implements established algorithms including Sobol indices (for variance-based decomposition), Morris screening (for one-at-a-time parameter sweeps), FAST and eFAST (Fourier-based methods), DGSM (derivative-based measures), PAWN, HDMR, and fractional factorial designs. The library is designed for systems modelers, researchers, and engineers who need to understand parameter importance, identify influential factors, or reduce model complexity.
You provide a problem specification (parameter names, bounds, and output names), use one of SALib's sampling methods to generate parameter combinations, evaluate your model on those samples, then apply an analysis method to extract sensitivity indices with confidence intervals. SALib supports both a procedural API and a newer method-chaining interface via ProblemSpec. It depends on numpy, scipy, matplotlib, pandas, and multiprocess for numerical computation and visualization.
Use it for:
- Identify which model parameters drive uncertainty in climate or environmental simulations.
- Screen a large parameter space to find the most influential inputs before detailed calibration.
- Quantify first-order and total-order effects of inputs on model outputs for publication or reporting.
- Compare sensitivity across different model variants or scenarios using standardized indices.
- Reduce computational cost by focusing model refinement on parameters with high sensitivity.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SALib implements global sensitivity analysis methods (Sobol, Morris, FAST, DGSM, PAWN, HDMR, and others) to quantify how model inputs affect outputs in systems modeling and uncertainty analysis.
Yes. SALib is a mature, actively maintained library with no known vulnerabilities, low install friction, and permissive licensing. It is the standard Python tool for global sensitivity analysis and is suitable for academic research, engineering, and systems modeling work. Install it if you need to understand parameter importance or uncertainty propagation in a computational model.
Install
salib on PyPI
pip
pip install salibuv
uv add salibpoetry
poetry add salibInstalling SALib
Before you install
Low friction: pure Python wheel, five standard scientific dependencies (numpy, scipy, matplotlib, pandas, multiprocess), active maintenance with recent commits and stable production status.
License in practice
MIT license is permissive; you can use, modify, and distribute SALib with minimal restrictions in commercial or private projects.
Quickstart
pip install SALib
from SALib.sample import saltelli
from SALib.analyze import sobol
from SALib.test_functions import Ishigami
import numpy as np
problem = {'num_vars': 3, 'names': ['x1', 'x2', 'x3'], 'bounds': [[-np.pi, np.pi]]*3}
param_values = saltelli.sample(problem, 1024)
Y = Ishigami.evaluate(param_values)
Si = sobol.analyze(problem, Y, print_to_console=True)
Requires Python 3.9 or later; numpy, scipy, matplotlib, and pandas must be installed.
Verify before relying
- Whether the package handles very large parameter spaces or model evaluations efficiently.
- Performance characteristics when running on distributed systems via multiprocess.
- Availability and quality of plotting output from the built-in visualization features.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — matplotlib, multiprocess, numpy, pandas, scipy |
| Maintenance | actively maintained — 306 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 737,913/month — #5,187 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: salib-1.5.2-py3-none-any.whl
Tags
More Mathematics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
kiwisolverkiwisolver is a Python binding to a fast C++…
permissive · top 1,000 on PyPI
sympySymPy is a Python library for symbolic…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
torchPyTorch provides GPU-accelerated tensor…
permissive · top 1,000 on PyPI
onnxruntimeonnxruntime loads and executes Open Neural…
permissive · top 1,000 on PyPI
MAPIEMAPIE computes prediction intervals and…
permissive · top 15,000 on PyPI
gmrGaussian Mixture Models for clustering and…
permissive · top 15,000 on PyPI
pm4pyPM4Py implements process mining algorithms to…
agpl · top 15,000 on PyPI
mgwrCalibrates multiscale and traditional…
permissive · top 15,000 on PyPI
cmaesProvides CMA-ES (Covariance Matrix Adaptation…
permissive · top 5,000 on PyPI
quantile-forestQuantile regression forests for estimating…
permissive · top 15,000 on PyPI
optlangOptlang formulates and solves linear,…
permissive · top 15,000 on PyPI
swiglpkswiglpk provides direct Python bindings to the…
copyleft · top 15,000 on PyPI
iterative-ensemble-smootherImplements ensemble-based data assimilation and…
copyleft · top 15,000 on PyPI