Skip to main content

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

Automated Tests

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:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

summerepi2-1.3.6.tar.gz (66.0 kB view details)

Uploaded Source

Built Distribution

summerepi2-1.3.6-py3-none-any.whl (79.7 kB view details)

Uploaded Python 3

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

Hashes for summerepi2-1.3.6.tar.gz
Algorithm Hash digest
SHA256 de1bbb68b63655477b3a6f9ad4458afe07ce4d89d6a12ca37d9c3e35ad20f9e3
MD5 07786ebf4473db9d892cc2f36f6d9e2f
BLAKE2b-256 371b385e2504c69d0001a9561d0625e2eecf2fdfe3e313a573bcdbcc4ccca983

See more details on using hashes here.

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

Hashes for summerepi2-1.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2803e9d5c8478297c99bd9576cb45545e3f4ff15412034f4dfeabd724654e9ee
MD5 faa591f3fca183d00a1e1aa945530b2f
BLAKE2b-256 25952301570ad169f173a42ba38729a7b83e20f68f935e1f8a1d658e1c1cd0ef

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page