EpiAware EpiAware EpiAware
  • Approaches
    • Overview
    • Composed distributions
    • Composable Turing models
  • Tutorials
  • Docs
  • News
  • Gallery
  • Guides
    • Resources
    • Using Julia
    • FAQ
    • Contributing
    • Developer docs
  • Community
    • Get involved
    • Team
    • Funding
    • epinowcast & the forum

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 experimental 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.
ComposedDistributions.jl experimental 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.
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.

No packages match that search.

Related tools

Other Julia efforts working towards composable, reusable infectious disease modelling, built outside EpiAware. We think interoperability matters more than where a tool is built, so we link to them and aim to work well alongside them.

Tool What it does
gemlib Building blocks for assembling epidemic models and fitting them, in Python. It puts particular weight on composable inference, through JAX, TensorFlow Probability, and specialised samplers. That matters to us too, though our first concern is composing the model itself and supporting the workflow around it.
EpiBranch.jl (source) Branching process models for infectious disease epidemiology.
DDSALineLists.jl Synthetic epidemic line lists from a discrete-time dynamic survival analysis generative model.
CategoricalOutbreaks.jl Categorical outbreak line-list representations and aggregation, built with Catlab.

Building something in this space? Tell us on the forum and we will add it.

EpiAware — a composable Julia ecosystem for infectious disease modelling.

  • Packages

  • Get involved

  • Funding

  • Edit this page
  • Report an issue