preliz
Exploring and eliciting probability distributions.
What it is and what it does
PreliZ is a toolkit for prior elicitation in Bayesian statistics—the process of translating domain knowledge into well-defined probability distributions. It provides interactive, human-centered tools for specifying priors across multiple methods: direct parameter-space elicitation, predictive elicitation on observed data, and visualization in multiple formats (kernel density estimates, quantile dotplots, histograms). The package is designed to remain agnostic of the underlying probabilistic programming language, making it a companion tool for frameworks in the Python ecosystem.
The package depends on numpy, scipy, matplotlib, numba, arviz_stats, and pytensor_distributions for numerical computation and visualization. It emphasizes keeping humans in the loop rather than fully automating prior selection, helping practitioners avoid overconfidence in their own assumptions while automating tedious or error-prone numerical tasks. It is currently in Alpha status and actively maintained.
Use it for:
- Interactively specify and visualize prior distributions for Bayesian regression or classification models before fitting.
- Conduct predictive elicitation by examining how different priors affect predictions on your observed data.
- Explore and compare multiple prior specifications using quantile dotplots or kernel density estimates.
- Integrate prior elicitation workflows into probabilistic programming pipelines without being locked into a single language.
- Build domain-informed priors by transforming expert knowledge into probability distributions via guided tools.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PreliZ helps you specify prior distributions for Bayesian models by providing interactive tools for prior elicitation, from parameter-space methods to predictive elicitation, designed to work with probabilistic programming languages like PyMC.
Yes, if you are actively doing Bayesian modeling and want structured guidance on prior specification. The low install friction, active maintenance, permissive license, and focus on human-centered elicitation make it a solid choice for practitioners. The Alpha status warrants checking that your probabilistic programming language of choice is well-supported, but the package has no known security vulnerabilities and receives regular updates.
Install
preliz on PyPI
pip
pip install prelizuv
uv add prelizpoetry
poetry add prelizInstalling preliz
Before you install
Low friction: pure Python wheel, six common scientific dependencies (numpy, scipy, matplotlib, numba, arviz_stats, pytensor_distributions). Active maintenance with a release 38 days ago; repository is not archived and has recent commits.
License in practice
Permissive license allows commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the license notice.
Quickstart
pip install preliz
import preliz as pz
# Create and visualize a prior distribution
prior = pz.Normal(mu=0, sigma=1)
pz.plot_prior(prior)
Requires Python 3.12 or later. Interactive visualization features require optional dependencies (jupyterlab or jupyter notebook).
Verify before relying
- Whether the package's integration with PyMC and PyStan is production-ready or still experimental given its Alpha status.
- Performance characteristics when working with high-dimensional prior elicitation tasks.
- Whether arviz_stats and pytensor_distributions are stable, maintained dependencies.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — arviz_stats, matplotlib, numba, numpy, pytensor_distributions, scipy |
| Maintenance | actively maintained — 38 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 397,479/month — #6,959 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: preliz-0.27.1-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
arviz-plotsarviz-plots provides visualization functions…
permissive · top 15,000 on PyPI
arviz-statsProvides statistical computations and…
permissive · top 15,000 on PyPI
arvizArviZ is a Python package for exploratory…
permissive · top 5,000 on PyPI
arviz-baseProvides converters and base data manipulation…
permissive · top 15,000 on PyPI
tensorflow-probabilityTensorFlow Probability provides probabilistic…
permissive · top 5,000 on PyPI
pymc-extrasExtends PyMC with specialized distributions,…
permissive · top 15,000 on PyPI
pymcPyMC is a Python package for Bayesian…
permissive · top 5,000 on PyPI
problogProbLog is a probabilistic logic programming…
permissive · top 15,000 on PyPI
pyjptpyjpt learns and reasons about joint…
unclear · top 15,000 on PyPI
pymc3PyMC3 is a Python package for Bayesian…
permissive · top 15,000 on PyPI