Skip to content

v0.1.0

Choose a tag to compare

@williambdean williambdean released this 05 Sep 12:49
· 9 commits to main since this release
3a021d9

Single source of truth for statistical distribution parameterizations — convert parameters between PyMC, scipy, Stan, R, jStat, TFP, NumPyro, and the stdlib random module. Pure Python, zero dependencies.

Cross-ecosystem conversion

from distparams import convert

convert("gamma", "scipy", "pymc", a=2, scale=3)
# → {"alpha": 2, "beta": 0.333}

scipy drop-in that accepts any parametrization

from distparams.stats import norm

norm(mu=0, sigma=1)   # canonical names
norm(loc=0, scale=1)  # plain scipy
norm(tau=4)           # precision → sigma = 0.5
# → a frozen scipy distribution: .pdf, .rvs, .mean, ...

stdlib random drop-in, seed-exact

import distparams.random

distparams.random.gamma(alpha=2, beta=1 / 3)          # pymc names (beta is the rate)
distparams.random.Random(42).gauss(mu=2, variance=2)  # variance → sigma

Registry-backed parameter inspection

from distparams import get_distribution

sigma = get_distribution("normal").canonical.parameters["sigma"]
sigma.support.contains(0.5)  # True

Also: 68 distributions, alternative parameterizations (aliases, bijections, derived sets), and a @distribution decorator that resolves ecosystem naming conventions.

Install: pip install distparams