Packages

The EpiAware ecosystem. Small, composable packages that combine into infectious disease models.

Each package does one thing and combines with the others. Most extend Julia’s Distributions.jl, so they share a common interface and compose cleanly. Package names link to their documentation, and the icon beside each links to its source.

Status reflects where a package sits in its release cycle rather than a judgement of quality. experimental is usable but not yet a registered release, so expect the API to change. maturing is registered and installable, on a 0.x line while the API settles. stable is a 1.0+ release with a committed, semantically versioned API, and nothing is there yet.

Package What it does
ComposableTuringIDModels.jl maturing Assemble infectious disease models from interchangeable infection and observation parts as a single Turing model. The package that ties the ecosystem together.
CensoredDistributions.jl maturing Handle the interval censoring and truncation biases common in epidemiological delay data, wrapping any Distributions.jl distribution, and convolve series of censored delays with convolve_series.
ComposedDistributions.jl maturing Join the delays in a case's history into a single distribution that can simulate a case or be fitted to observed ones.
ConvolvedDistributions.jl maturing Convolve probability distributions, with shared numerical quadrature.
ModifiedDistributions.jl experimental Rescale, weight, modify hazards, or transform a distribution, while keeping the full Distributions.jl interface.
ReparameterisedDistributions.jl maturing Express the same distribution under a different, equivalent parameterisation, so a model can be fitted in whatever form is most convenient and read back in your own.
LoweredDistributions.jl experimental Lower a distribution, or a whole composed event tree, onto a backend-agnostic dynamical-systems representation (a phase-type chain or a CTMC), then hand it to Catalyst, SciML, AlgebraicPetri, or JumpProcesses.
DistributionsInference.jl experimental A PPL-neutral fit protocol and log-density engine: any object that names its own parameters becomes fittable, with Turing.jl, Bijectors, and FlexiChains readback layered on as extensions rather than requirements.
EpiAwarePackageTools.jl experimental Shared scaffolding, quality checks, and test utilities used across the ecosystem.
EpiAwareADTools.jl maturing Automatic differentiation safety machinery for the stack, tested across ForwardDiff, ReverseDiff, Mooncake, and Enzyme. Deliberately framed as fixes we host while we try to fix things upstream.