Summer is a compartmental disease modelling framework, written in Python. It provides a high-level API to build and run models.
Project description
summer2: compartmental disease modelling in Python
summer2 is a Python-based framework for the creation and execution of compartmental (or "state-based") epidemiological models of infectious disease transmission.
It provides a range of structures for easily implementing compartmental models, including structure for some of the most common features added to basic compartmental frameworks, including:
- A variety of inter-compartmental flows (infections, transitions, births, deaths, imports)
- Force of infection multipliers (frequency, density)
- Post-processing of compartment sizes into derived outputs
- Stratification of compartments, including:
- Adjustments to flow rates based on strata
- Adjustments to infectiousness based on strata
- Heterogeneous mixing between strata
- Multiple disease strains
Some helpful links to learn more:
- Documentation with code examples
- Available on PyPi as
summerepi2
.
Installation and Quickstart
This project requires at least Python 3.10
Set up and activate an appropriate virtual environment, then install the summerepi2
package from PyPI
pip install summerepi2
You can now use the library to build and run models. See here for some code examples.
Optional (recommended) extras
Summer has advanced interactive plotting tools built in - but they are greatly improved with the addition of the pygraphviz library.
If you are using conda, the simplest method of installation is as follows:
conda install --channel conda-forge pygraphviz
For other install methods, see https://pygraphviz.github.io/documentation/stable/install.html
Development
Poetry is used for packaging and dependency management.
Releases
Releases are numbered using Semantic Versioning
- 1.0.0/1:
- Initial release
- 1.2.1
- Dropped support for Python 3.7. Variety of bugfixes and expanded features, see documentation
- 1.2.2
- Added capture utils
- Removed inner jit in model building to improve debugging
- 1.2.4
- CompartmentValues not functioning previously; include more comprehensive check in graph split
- 1.2.5
- Previous issue was not resolved correctly; bugfix-bugfix release
- 1.2.6
- Make full (comparment) outputs optional for jax runners
- 1.2.8
- Improve time varying functions (allow GraphObjects in x values)
- 1.2.9
- Derived output functions matching pandas.Series functionality (rolling, diff)
- 1.3.0
- Support initializing whole population via GraphObject
- 1.3.1
- Enforce jax minimum version in requirements
- 1.3.2
- Fix parameter bug in test models
- 1.3.3
- Fix issue with binary search for piecewise functions
- 1.3.4
- Update import in ode.py for changed jax API
- 1.3.5
- Force specific jax (0.4.24) to stop breaking changes
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file summerepi2-1.3.6.tar.gz
.
File metadata
- Download URL: summerepi2-1.3.6.tar.gz
- Upload date:
- Size: 66.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.0 CPython/3.10.10 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de1bbb68b63655477b3a6f9ad4458afe07ce4d89d6a12ca37d9c3e35ad20f9e3 |
|
MD5 | 07786ebf4473db9d892cc2f36f6d9e2f |
|
BLAKE2b-256 | 371b385e2504c69d0001a9561d0625e2eecf2fdfe3e313a573bcdbcc4ccca983 |
File details
Details for the file summerepi2-1.3.6-py3-none-any.whl
.
File metadata
- Download URL: summerepi2-1.3.6-py3-none-any.whl
- Upload date:
- Size: 79.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.0 CPython/3.10.10 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2803e9d5c8478297c99bd9576cb45545e3f4ff15412034f4dfeabd724654e9ee |
|
MD5 | faa591f3fca183d00a1e1aa945530b2f |
|
BLAKE2b-256 | 25952301570ad169f173a42ba38729a7b83e20f68f935e1f8a1d658e1c1cd0ef |