Priors Module

This module provides utilities for parsing prior specifications and common functionality shared across all sampler bridges. It handles conversion between different prior formats (tuples, dicts, callables) and computes log-probability densities.

Common prior parsing and model adapter utilities for Discovery sampler interfaces.

This module provides shared functionality for parsing prior specifications and adapting Discovery models to various sampler backends.

exception discoverysamplers.priors.PriorParsingError[source]

Bases: ValueError

Raised when a prior specification cannot be parsed.

class discoverysamplers.priors.ParsedPrior(dist_type, bounds=None, mean=None, sigma=None, value=None, logpdf=None)[source]

Bases: object

Unified representation of a parsed prior distribution.

dist_type

Type of distribution: ‘uniform’, ‘loguniform’, ‘normal’, ‘fixed’, or ‘callable’

Type:

str

bounds

(min, max) bounds for the parameter

Type:

tuple of float, optional

mean

Mean for normal distribution

Type:

float, optional

sigma

Standard deviation for normal distribution

Type:

float, optional

value

Fixed value for ‘fixed’ distribution

Type:

float, optional

logpdf

Log probability density function for callable priors

Type:

callable, optional

dist_type: str
bounds: Tuple[float, float] | None = None
mean: float | None = None
sigma: float | None = None
value: float | None = None
logpdf: Callable[[float], float] | None = None
__init__(dist_type, bounds=None, mean=None, sigma=None, value=None, logpdf=None)
discoverysamplers.priors.standard_priors(param_names)[source]

Build a prior dictionary using Discovery’s priordict_standard patterns.

Parameters:

param_names (sequence of str) – Parameter names to match against Discovery’s standard prior regexes.

Returns:

Mapping name -> {'dist': 'uniform', 'min': a, 'max': b}.

Return type:

dict

Raises:
  • ImportError – If the discovery package is not installed.

  • KeyError – If no standard prior is found for a parameter name.

See Also