simpar

A Python package for analyzing pandemic response measures


Keywords
covid-19, deterministic, pandemic, planning, simulation, sir-model
License
MIT
Install
pip install simpar==0.1.0

Documentation

simpar

PyPI pyversions CircleCI Documentation Status codecov

simpar (SIMulate PAndemic Response) simulates the spread of a disease through a heterogeneous population using an SIR model. The groups module can be used to manage a heterogeneous population comprised of "meta-groups" with varying contact levels. The tool focuses on providing functionality for assessing pandemic response strategies such as isolation protocols, testing regimes (with varying tests), and vaccination requirements. The Strategy class is used to define a potential strategy. The Scenario class is used to manage the parameters pertaining to a scenario under which a disease is spreading. This consists of a population, environment parameters (e.g. outside rate of infection), and disease parameters (e.g. symptomatic rate). Lastly, the Trajectory class offers methods to compute metrics on a simulation of some strategy applied to a scenario. For more details, see the Documentation.

Installation

The quickest way to get started is with a pip install.

pip install simpar

Usage

# imports
import yaml
import numpy as np
from simpar.scenario import Scenario
from simpar.strategy import strategies_from_dictionary
from simpar.trajectory import Trajectory
import matplotlib.pyplot as plt

# load scenario and strategy
with open("dev_scenario.yaml", "r") as f:
    yaml_file = yaml.safe_load(f)
    scenario = Scenario.from_dictionary(yaml_file)

with open("dev_strategy.yaml", "r") as f:
    yaml_file = yaml.safe_load(f)
    strategy = strategies_from_dictionary(yaml_file, scenario.tests)["dev"]

# simulate and create trajectory
sim = scenario.simulate_strategy(strategy)
trajectory = Trajectory(scenario, strategy, sim)

License

Licensed under the MIT License