Type-driven Rust crates for GAMLSS-style distributional regression.
Status: Actively developed. Public APIs and numerical behavior may change before 1.0.
GAMLSS models the full conditional response distribution rather than only its mean:
Each distribution parameter can have its own link, covariates, smooth terms, and penalties. The typed API expresses parameter domains and model structure at compile time while keeping model evaluation backend- and optimizer-agnostic.
The library supports scalar distributional models, optional multivariate families, finite mixtures, smooth predictors, target transforms, post-fit diagnostics, and a lightweight Bayesian posterior-potential layer. Distribution functions, quantiles, CRPS, and sampling are exposed through capability traits and vary by family. See the family capability matrix for exact coverage.
Fitting loops and optimizer integrations intentionally remain outside the core API.
Most users should depend on the gamlss facade. The workspace also publishes focused crates:
gamlss-coreandgamlss-familyprovide typed model abstractions, distributions, likelihoods, and scores.gamlss-splineandgamlss-specialprovide predictors, penalties, special functions, and numerical helpers.gamlss-transformandgamlss-diagnosticscover response preprocessing and post-fit diagnostics.gamlss-formulais an experimental builder layer for curated workflows;gamlss-bayesprovides priors and posterior potentials without a sampler.
See project structure for API layers and crate boundaries.
formula(default) re-exports the experimental builder API.bayesenablesgamlss::bayesand its common prelude types.randenables sampling for supported families.multivariateenables multivariate families.
Use default-features = false for the facade without the formula layer, or depend on individual crates for tighter dependency control.
Run the workspace checks with:
cargo fmt --all
cargo clippy --workspace --all-targets --all-features
cargo test --workspace --all-featuresRun the main benchmarks with:
cargo bench -p gamlss-family --bench objective --all-features
cargo bench -p gamlss-spline --bench spline_hot_paths
cargo bench -p gamlss-special --bench numeric_kernelsEach crate's benches/README.md documents focused Criterion filters and coverage. Compare benchmark results only on the same hardware and toolchain.