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.plotmethod that is available when the "plot" optional dependency group is installed to quickly visualize curves. See #176. - Added a class docstring to
VaxfluxModelincluding a brief example. See #135. - Added
VaxfluxObservationscontainer class for observations, see #160. - Added ability to easily construct an observations instance, with
VaxfluxObservations.from_csv, as well as a default model, withVaxfluxModel.from_csv, see #112.
Changed:
- Changed the expected output of
Covariate.sampleto either be a 1D(num_seasons,)or 2D(num_seasons, num_categories)array, removed theCovariate.dimsmethod, and added the optionalCovariate.extra_dimsmethod to provide supplemental coordinates for latent variables. - Updated the
pandasdependency to be at least 3.0.0 and limitmkdocsdependency to less than 2.0.0.
Deprecated:
- ...
Removed:
- ...
Fixed:
Security:
- ...
[0.2.0] - 2026-02-04¶
Added:
- Added a CI check for updates to the
CHANGELOG.mdfile. 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, andyamllintfor spelling and JSON/markdown/YAML files as well as a linting workflow to run these checks regularly. - Added a
CONTRIBUTING.mddocument 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
VaxfluxModeland newCurveclasses that are based onjax/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_penaltyargument toadd_observation_process. See #148. - Added
render_modelmethod to wrapnumpyro.render_modelto produce a graphic of the underlying model. Added an example of its usage to thedemos/vaxflux-model.ipynbnotebook. See #156. - Added
PooledGaussianCovariate,PartiallyPooledGaussianCovariate,SeasonVaryingPartiallyPooledGaussianCovariatecovariate classes to specify the priors/parameters for covariates. See #106. - Added
VaxfluxInferenceDataclass that inherits fromarviz.InferenceDataand takes advantage of coords/dims to make the output easier to align and manipulate. See #111, #141. - Added
plot_prior_predictiveandplot_posterior_predictivemethods to easily plot the results of a model with sensible defaults for visualization. See #159, #174. - Added
prior_prevalence_scenariosandposterior_prevalence_scenariosmethods to produce a human readable set of projections for end of season prevalence ranges. See #150. - Added demonstration of
VaxfluxModelclass in thedemos/vaxflux-model.ipynbanddemos/season-only-vaxflux-model.ipynbnotebooks using synthetic data as well as in thedemos/nis-frvm-survey.ipynbnotebook with real data. See #173.
Changed:
- Switched from
sphinxtomkdocsfor documentation, see #85. - Switched from
maketojustfor task running, see #86. - Generate documentation index page from
README.mdfile, see #71. - Added
noiseargument tosample_datasetthat 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, andcurvesmodules as direct exports ofvaxfluxto simplify user imports.
Removed:
- Dropped support for python 3.10, see #90.
- Removed the
PyMCbased implementation of the vaxflux model, represented previously by theUptakeModelclass, in favor of thenumpyrobased 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-jupyterinstead of converting notebooks to markdown files, see #146. - Addressed warning from
pd.Categoricalcall in private utility about non-null values being given that might not be in thecategories. 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.SeasonalUptakeModelinstance with support for flexible curves usingvaxflux.curves, date ranges usingvaxflux.dates, and covariates usingvaxflux.covariates.