What’s new
All notable changes to the codebase are documented in this file. Changes that may result in differences in model output, or are required in order to run an old parameter set with the current version, are flagged with the term “Regression information”.
Version 2.2.6 (2026-04-17)
- Reconcile different copies of repository
- Github info PR 75
Version 2.2.5 (2025-10-27)
- Small bugfix for campaign vaccination
- Github info PR 689
Version 2.2.4 (2025-08-20)
- Fixes a bug in analyzer results for cancer by age and HIV status
- Github info PR 687
Version 2.2.3 (2025-06-27)
- Small bugfixes and changes to HIV module parameterization
- Github info PR 685
Version 2.2.2 (2025-06-20)
- Bugfix to allow running simulations beyond 2100
- Github info PR 681
Version 2.2.1 (2025-05-29)
- Bugfix for running calibrations to prevent interventions being reinitialized
- Github info PR 678
Version 2.2.0 (2025-05-23)
- Refresh results: ensure all main results are populated, remove cancer detection results, and fix bug with HPV prevalence calculations
- Updates to docs
- Github info PR 673
Version 2.1.0 (2025-03-25)
- Updates how HPV prognoses are re-evaluated for WLWH
- Fixes CD4 reconstitution trajectory so that it plateaus before quadratic starts decreasing
- Fixes ART coverage so that it’s now by age, sex, and time
- Fixes assignment of HIV mortality based upon ART coverage
- Removes HIV-mortality from background mortality
- Small fix to enable calibration to HIV-stratified data
- Adds a more robust data downloading method and renamed
get_data()todownload_data(); updated data version to 1.4 - Github info PR 652
Version 2.0.2 (2024-03-05)
- Modifies DALY analyzer to output YLLL, YLD and DALYs
- Github info PR 659
Version 2.0.1 (2024-02-14)
- Adds in relative transmissibility attribute to people that can be modified by vaccination or treatment
- Github info PR 643
Version 2.0.0 (2023-11-29)
- Simplifies natural history model by compressing CIN grades
- Changes the way HPV progression is modeled so that there is a probability of developing CIN based upon duration of precin and probability of cancer based upon duration of cancer (based upon Rodriguez et al. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3705579/)
- Adds support for pre-calibration explorations
- Improvements to networks, including clustering functionality, support for different distributions for male and female partners and for differing concurrency rates, and changes to default partnership durations
- Exposes a parameter for specifying the sex ratio of a population
- Fixes plotting issue with tutorial
- Updates filtering for tests that are not genotype-specific
- Github info PR 643
Version 1.2.7 (2023-09-22)
- Updates
sim.summaryto have more useful information - Github info PR 618
Version 1.2.6 (2023-09-22)
- Fixes plotting issue with MultiSims and Jupyter notebooks
- Allows scenarios to be run fully in parallel
- Github info PR 614
Version 1.2.5 (2023-09-21)
- Fixes file path when run via Jupyter
- Github info PR 610
Version 1.2.4 (2023-09-19)
- Fixes Matplotlib regression in plotting
- Github info PR 609
Version 1.2.3 (2023-08-30)
- Updates data loading to be much more efficient
- Github info PR 604
Version 1.2.2 (2023-08-11)
- Improved tests and included
condaenvironment specification - Github info PR 598
Version 1.2.1 (2023-07-09)
- Updated data files being used
- Github info PR 586
Version 1.2.0 (2023-05-31)
- Changes to improve run speed, most notably changes to how migration is applied
- Additional tests to ensure consistency between calibration results, age analyzer results, and sim results
- Updates to natural history to prevent people progressing too quickly to cancer
- Github info PR 576
Version 1.1.5 (2023-03-23)
- Adds cross-protection functionality to t-cell immunity and adds sev_imm attribute to people
- Github info PR 564
Version 1.1.4 (2023-03-15)
- Fixes bug that caused location data to be loaded twice
- Github info PR 546
Version 1.1.3 (2023-03-14)
- Fixes bug that misses some ways you can specify sex for vaccination
- Github info PR 555
Version 1.1.2 (2023-03-13)
- Fixes bug that never computed cancer deaths by age
- Github info PR 554
Version 1.1.1 (2023-03-01)
- Sets time to and date of HIV death for those not on ART and who fail on ART
- Moves all HIV attributes, parameters, and results into hivsim class instance
- Merges HIV results with sim.results at conclusion of simulation
- Adds HIV pars as an argument to calibration as well as HIV-specific results to age-results analyzer
- Allows for flexible severity growth functions
- Github info PR 542
Version 1.1.0 (2023-02-16)
- Moves all HIV functionality into hiv.py
- Establishes new class HIVsim, which is defined by a set of parameters and methods for updating a people object
- Bug fix for setting people.sev wrong on day of infection
- Github info PR 526
Version 1.0.1 (2023-02-09)
- Fixes computation of dur_episomal by adjusting for dt
- GitHub info: PR 527
Version 1.0.0 (2023-01-31)
- Official release!
- GitHub info: PR 521
Version 0.4.17 (2023-01-31)
- Adds a tutorial on calibration
- Small changes to parameter values
- GitHub info: PR 520
Version 0.4.16 (2023-01-30)
- Change to natural history, including computation of transformation based upon time with dysplasia
- Addition of cellular immunity to moderate progression in a secondary infection
- Default parameter changes and some small typo/bug fixes
- GitHub info: PR 513
Version 0.4.15 (2023-01-13)
- Fixed bug in intervention and analyzer initialization
- GitHub info: PR 511
Version 0.4.14 (2023-01-11)
- Add Sweep class
- GitHub info: PR 431
Version 0.4.13 (2023-01-09)
- Dysplasia percentages are now tracked throughout agent lifetimes, and CIN grades are defined as properties based on these percentages
- Removes all genotypes aside from HPV 16, 18 and a composite ‘other high risk’ genotype from the defaults
- GitHub info: PR 507
Version 0.4.12 (2023-01-02)
- Adds documentation and examples for screening algorithms.
- GitHub info: PR 505
Version 0.4.11 (2022-12-21)
- Adds colposcopy and cytology testing options, along with default values for screening sensitivity and specificity.
- Adds a clearance probability for treatment to control the % of treated women who also clear their infection
- Removes use_multiscale parameter and sets ms_agent_ratio to 1 by default
- GitHub info: PR 497
Version 0.4.10 (2022-12-19)
- Change the seed used for running simulations to avoid having random processes in the model run sometimes being correlated with population attributes
- Deprecate
Sim.set_seed()- usehpu.set_seed()instead - Added
hpvsim.rootdirto provide a convenient absolute path to the - Added equality operator for Result objects
- Exporting simulation results to JSON now includes 2D results (e.g., by genotype)
age_pyramidandage_resultsanalyzer argument changed fromdatafiletodatasince this input supports both passing in a filename or a dataframe- GitHub info: PR 485
Version 0.4.9 (2022-12-16)
- Added in high- and low-grade lesions to type distribution results
- Changes default duration and rate of dysplasia for hr HPVs
- GitHub info: PR 479
Version 0.4.8 (2022-12-14)
- Small bug fix to re-enable plots of cytology outcomes by genotype
- GitHub info: PR 484
Version 0.4.7 (2022-12-13)
- Migration is now modeled by finding mismatches between the modeled population size by age and data on population sizes by age (previously, this adjustment was done for the overall population rather than by age bucket).
- GitHub info: PR 479
Version 0.4.6 (2022-12-12)
- Changes to several default parameters: default genotypes are now 16, 18, and other high-risk; and default hpv control prob is now 0.
- Results now capture infections by age and type distributions.
- Adds age of cancer to analyzer
- Changes to default plotting styles
- Various bugfixes: prevents immunity values from exceeding 1, ensures people with cancer aren’t given second cancers
- GitHub info: PR 458
Version 0.4.5 (2022-12-06)
- Removes default screening products pending review
- GitHub info: PR 464
Version 0.4.4 (2022-12-05)
- Changes to progression to cancer – no longer based on clinical cutoffs, now stochastically applied by genotype to CIN3 agents
- GitHub info: PR 430
Version 0.4.3 (2022-12-01)
- Fixes bug with population growth function
- GitHub info: PR 459
Version 0.4.2 (2022-11-21)
- Changes to parameterization of immunity
- GitHub info: PR 425
Version 0.4.1 (2022-11-21)
- Fixes age of migration
- Adds scale parameter for vital dynamics
- GitHub info: PR 423
Version 0.4.0 (2022-11-16)
- Adds merge method for scenarios and fixes printing bugs
- GitHub info: PR 422
Version 0.3.9 (2022-11-15)
Version 0.3.8 (2022-11-02)
- Store treatment properties as part of sim.people
- GitHub info: PR 413
Version 0.3.7 (2022-11-01)
- Fix to ensure consistent results for the number of txvx doses
- GitHub info: PR 411
Version 0.3.6 (2022-11-01)
- Fix bug related to screening eligibility. NB, this has a sizeable impact on results - screening strategies will be much more effective after this fix.
- GitHub info: PR 396
Version 0.3.5 (2022-10-31)
- Store stocks related to interventions
- GitHub info: PR 395
Version 0.3.4 (2022-10-31)
- Bugfixes for therapeutic vaccination
- GitHub info: PR 394
Version 0.3.3 (2022-10-30)
- Changes to therapeautic vaccine efficacy assumptions
- GitHub info: PR 393
Version 0.3.2 (2022-10-26)
- Additional tutorials and minor release tidying
- GitHub info: PR 380
Version 0.3.1 (2022-10-26)
- Fixes bug with screening
- Increases coverage of baseline test
- GitHub info: PR 373
Version 0.3.0 (2022-10-26)
- Implements multiscale modeling
- Minor release tidying
- GitHub info: PR 365
Version 0.2.11 (2022-10-25)
- Changes the way dates of HPV clearance are assigned to use durations sampled
- GitHub info: PR 374
Version 0.2.10 (2022-10-24)
- Fixes bug with treatment
- GitHub info: PR 354
Version 0.2.9 (2022-10-18)
- Prevents infectious people from being passed to People.infect()
- Fixes bugs with initialization within scenario runs
- Remove ununsed prevalence results
- GitHub info: PR 338
Version 0.2.8 (2022-10-17)
- Fixes bug with intervention year interpolation
- Changes reactivation probabilities to annual, not per time step
- Refactor prognoses calls
- GitHub info: PR 338
Version 0.2.7 (2022-10-14)
- Adds robust relative paths via
hpv.datadir - GitHub info: PR 333
Version 0.2.6 (2022-10-12)
- Removes Numba since slower for small sims and only 10% faster for large sims.
- Moves functions from
utils.pyintopeople.py,sim.py, andpopulation.py. - GitHub info: PR 326
Version 0.2.5 (2022-10-07)
- Adds people filtering (NB: not used, and later removed).
- Fixes bug with
print(sim)not working. - Adds baseline tests.
- GitHub info: PR 310
Version 0.2.4 (2022-10-07)
- Changes to dysplasia progression parameterization
- Adds a new implementation of HPV natural history for HIV positive women
- Note: HIV was added since the previous version
- GitHub info: PR 304
Version 0.2.3 (2022-09-01)
- Adds a
use_migrationparameter that activates immigration/emigration to ensure population sizes line up with data. - Adds simple data versioning.
- GitHub info: PR 279
Version 0.2.2 (2022-08-22)
- Separates out the
Calibrationclass into a separate file and to no longer inherit fromAnalyzer. Functionality is unchanged. - GitHub info: PR 255
Version 0.2.1 (2022-08-19)
- Improves calibration to enable support for MySQL.
- Fixes plotting bug.
- GitHub info: PR 253
Version 0.2.0 (2022-08-19)
- Fixed tests and data loading logic.
- GitHub info: PR 251
Version 0.1.0 (2022-08-01)
- Updated calibration.
- GitHub info: PR 215
Version 0.0.3 (2022-07-18)
- Updated data loading scripts.
- GitHub info: PR 156
Version 0.0.2 (2022-06-15)
- Made into a Python module.
- GitHub info: PR 64
Version 0.0.1 (2022-04-04)
- Initial version.