Skip to content

Changes

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added:

  • Added a Curve.plot method that is available when the "plot" optional dependency group is installed to quickly visualize curves. See #176.
  • Added a class docstring to VaxfluxModel including a brief example. See #135.
  • Added VaxfluxObservations container class for observations, see #160.
  • Added ability to easily construct an observations instance, with VaxfluxObservations.from_csv, as well as a default model, with VaxfluxModel.from_csv, see #112.

Changed:

  • Changed the expected output of Covariate.sample to either be a 1D (num_seasons,) or 2D (num_seasons, num_categories) array, removed the Covariate.dims method, and added the optional Covariate.extra_dims method to provide supplemental coordinates for latent variables.
  • Updated the pandas dependency to be at least 3.0.0 and limit mkdocs dependency to less than 2.0.0.

Deprecated:

  • ...

Removed:

  • ...

Fixed:

  • Expanded documentation and unit tests for existing internal helpers. See #33, #42.

Security:

  • ...

[0.2.0] - 2026-02-04

Added:

  • Added a CI check for updates to the CHANGELOG.md file. This check can be bypassed by including "no major changes" (case-insensitive) on the rare occasion that a change log update is not required. See #87.
  • Added additional linting checks via cspell, prettier, and yamllint for spelling and JSON/markdown/YAML files as well as a linting workflow to run these checks regularly.
  • Added a CONTRIBUTING.md document that is also synced with the documentation site outlining how to get started as a developer and contribute, see #75.
  • Added versioned documentation site hosted by GitHub pages at accidda.github.io/vaxflux/ that incorporates jupyter notebook demos, see #14, #62.
  • Added VaxfluxModel and new Curve classes that are based on jax/numpyro. See the Model Refactor milestone.
  • Added a custom and configurable prevalence penalty to decrease the likelihood of prevalence values beyond 1 from being sampled. This is configured via the prevalence_penalty argument to add_observation_process. See #148.
  • Added render_model method to wrap numpyro.render_model to produce a graphic of the underlying model. Added an example of its usage to the demos/vaxflux-model.ipynb notebook. See #156.
  • Added PooledGaussianCovariate, PartiallyPooledGaussianCovariate, SeasonVaryingPartiallyPooledGaussianCovariate covariate classes to specify the priors/parameters for covariates. See #106.
  • Added VaxfluxInferenceData class that inherits from arviz.InferenceData and takes advantage of coords/dims to make the output easier to align and manipulate. See #111, #141.
  • Added plot_prior_predictive and plot_posterior_predictive methods to easily plot the results of a model with sensible defaults for visualization. See #159, #174.
  • Added prior_prevalence_scenarios and posterior_prevalence_scenarios methods to produce a human readable set of projections for end of season prevalence ranges. See #150.
  • Added demonstration of VaxfluxModel class in the demos/vaxflux-model.ipynb and demos/season-only-vaxflux-model.ipynb notebooks using synthetic data as well as in the demos/nis-frvm-survey.ipynb notebook with real data. See #173.

Changed:

  • Switched from sphinx to mkdocs for documentation, see #85.
  • Switched from make to just for task running, see #86.
  • Generate documentation index page from README.md file, see #71.
  • Added noise argument to sample_dataset that allows users to choose between normal or gamma distributed noise. Default is 'gamma' for backwards compatibility.
  • Updated documentation site to reflect changes from the "Model Refactor" milestone. See #109.
  • Consolidated the covariates, dates, interventions, and curves modules as direct exports of vaxflux to simplify user imports.

Removed:

  • Dropped support for python 3.10, see #90.
  • Removed the PyMC based implementation of the vaxflux model, represented previously by the UptakeModel class, in favor of the numpyro based implementation. See #172.

Fixed:

  • Corrected typo in the word "introduction" in the documentation navigation bar.
  • Fixed the display of equations in the documentation, see #123.
  • Fixed the display of the demo notebooks in the documentation using mkdocs-jupyter instead of converting notebooks to markdown files, see #146.
  • Addressed warning from pd.Categorical call in private utility about non-null values being given that might not be in the categories. The fix was moving the validation of these values up before constructing the series. See #154.

[0.1.0] - 2025-11-13

  • Initial version of the package made publicly available centered around users creating a vaxflux.uptake.SeasonalUptakeModel instance with support for flexible curves using vaxflux.curves, date ranges using vaxflux.dates, and covariates using vaxflux.covariates.