epiworldpy#

Epiworld Python Wrapper#

ModelDiffNet(self, name, prevalence, ...)

A network diffusion model.

ModelSEIR(self, name, prevalence, ...)

A model with four compartments: susceptible, exposed, infectious, and recovered.

ModelSEIRCONN(self, name, n, prevalence, ...)

A model with four compartments: susceptible, exposed, infectious, and recovered.

ModelSEIRD(self, name, prevalence, ...)

A model with five compartments: susceptible, exposed, infectious, recovered, and dead.

ModelSIR(self, name, prevalence, ...)

A model with three compartments: susceptible, infectious, and recovered.

ModelSIRCONN(self, name, n, prevalence, ...)

A model with three compartments: susceptible, infectious, and recovered.

ModelSIRD(self, name, prevalence, ...)

A model with four compartments: susceptible, infectious, recovered, and dead.

ModelSIRDCONN(self, name, n, prevalence, ...)

A model with four compartments: susceptible, infectious, recovered, and dead.

ModelSIS(self, name, prevalence, ...)

A model wth two compartments: susceptible and infectious.

ModelSISD(self, name, prevalence, ...)

A model wth three compartments: susceptible, infectious, and death.

ModelSURV(self, name, prevalence, ...)

A model where agents may be isolated, even when asymptomatic.

Saver(self, *args, **kwargs)

Saves the result of multiple runs.

class epiworldpy.ModelDiffNet(self: epiworldpy._core.ModelDiffNet, name: str, prevalence: float, prob_adopt: float, normalize_exposure: bool, data: float, data_ncols: int, data_cols: std::vector<unsigned long, std::allocator<unsigned long> >, params: std::vector<double, std::allocator<double> >)#

Bases: Model

A network diffusion model.

Create a new DiffNet model.

class epiworldpy.ModelSEIR(self: epiworldpy._core.ModelSEIR, name: str, prevalence: float, transmission_rate: float, incubation_days: float, recovery_rate: float)#

Bases: Model

A model with four compartments: susceptible, exposed, infectious, and recovered.

Create a new SEIR model.

class epiworldpy.ModelSEIRCONN(self: epiworldpy._core.ModelSEIRCONN, name: str, n: int, prevalence: float, contact_rate: float, transmission_rate: float, incubation_days: float, recovery_rate: float)#

Bases: Model

A model with four compartments: susceptible, exposed, infectious, and recovered.

Create a new SEIRCONN model.

class epiworldpy.ModelSEIRD(self: epiworldpy._core.ModelSEIRD, name: str, prevalence: float, transmission_rate: float, incubation_days: float, recovery_rate: float, death_rate: float)#

Bases: Model

A model with five compartments: susceptible, exposed, infectious, recovered, and dead.

Create a new SEIRD model.

class epiworldpy.ModelSIR(self: epiworldpy._core.ModelSIR, name: str, prevalence: float, transmission_rate: float, recovery_rate: float)#

Bases: Model

A model with three compartments: susceptible, infectious, and recovered.

Create a new SIR model.

class epiworldpy.ModelSIRCONN(self: epiworldpy._core.ModelSIRCONN, name: str, n: int, prevalence: float, contact_rate: float, transmission_rate: float, recovery_rate: float)#

Bases: Model

A model with three compartments: susceptible, infectious, and recovered.

Create a new SIRCONN model.

class epiworldpy.ModelSIRD(self: epiworldpy._core.ModelSIRD, name: str, prevalence: float, transmission_rate: float, recovery_rate: float, death_rate: float)#

Bases: Model

A model with four compartments: susceptible, infectious, recovered, and dead.

Create a new SIRD model.

class epiworldpy.ModelSIRDCONN(self: epiworldpy._core.ModelSIRDCONN, name: str, n: int, prevalence: float, contact_rate: float, transmission_rate: float, recovery_rate: float, death_rate: float)#

Bases: Model

A model with four compartments: susceptible, infectious, recovered, and dead.

Create a new SIRDCONN model.

class epiworldpy.ModelSIS(self: epiworldpy._core.ModelSIS, name: str, prevalence: float, transmission_rate: float, recovery_rate: float)#

Bases: Model

A model wth two compartments: susceptible and infectious.

Create a new SIS model.

class epiworldpy.ModelSISD(self: epiworldpy._core.ModelSISD, name: str, prevalence: float, transmission_rate: float, recovery_rate: float, death_rate: float)#

Bases: Model

A model wth three compartments: susceptible, infectious, and death.

Create a new SISD model.

class epiworldpy.ModelSURV(self: epiworldpy._core.ModelSURV, name: str, prevalence: float, efficacy_vax: float, latent_period: float, prob_symptoms: float, prop_vaccinated: float, prop_vax_redux_transm: float, infect_period: float, prop_vax_redux_infect: float, surveillance_prob: float, transmission_rate: float, prob_death: float, prob_noreinfect: float)#

Bases: Model

A model where agents may be isolated, even when asymptomatic.

Create a new SURV model.

class epiworldpy.Tool(self: epiworldpy._core.Tool, name: str, prevalence: float, as_proportion: bool, susceptibility_reduction: float = 0, transmission_reduction: float = 0, recovery_enhancer: float = 0, death_reduction: float = 0)#

Bases: pybind11_object

A tool for modifying virus spread.

Create a new tool

get_name(self: epiworldpy._core.Tool) str#

Get the tool name.

print(self: epiworldpy._core.Tool) None#

Print information about this tool.

set_death_reduction(self: epiworldpy._core.Tool, death_reduction: float) None#

Sets the reduction in agent mortality associated with this tool.

set_name(self: epiworldpy._core.Tool, name: str) None#

Set the tool name.

set_recovery_enhancer(self: epiworldpy._core.Tool, recovery_enhancer: float) None#

Sets the boost in agent recovery associated with this tool.

set_susceptibility_reduction(self: epiworldpy._core.Tool, susceptibility_reduction: float) None#

Sets the reduction in agent susceptibility associated with this tool.

set_transmission_reduction(self: epiworldpy._core.Tool, transmission_reduction: float) None#

Sets the reduction in agent transmission associated with this tool.

class epiworldpy.UpdateFun#

Bases: pybind11_object

Model update functions.

static default() epiworldpy._core.UpdateFun#
static default_update_exposed() epiworldpy._core.UpdateFun#
static default_update_susceptible() epiworldpy._core.UpdateFun#
class epiworldpy.Virus(self: epiworldpy._core.Virus, name: str, prevalence: float, as_proportion: bool, prob_infecting: float, prob_recovery: float, prob_death: float, post_immunity: float, incubation: float)#

Bases: pybind11_object

A virus.

Create a new virus (evil…)

distribute(self: epiworldpy._core.Virus, model: epiworldpy._core.Model) None#
get_date(self: epiworldpy._core.Virus) int#

Get the date.

get_id(self: epiworldpy._core.Virus) int#

Get the ID of this virus.

get_incubation(self: epiworldpy._core.Virus, model: epiworldpy._core.Model) float#

Get the incubation value.

get_name(self: epiworldpy._core.Virus) str#

Get the tool name.

get_prob_death(self: epiworldpy._core.Virus, model: epiworldpy._core.Model) float#

Get the probability of death.

get_prob_infecting(self: epiworldpy._core.Virus, model: epiworldpy._core.Model) float#

Get the probability of infection.

get_prob_recovery(self: epiworldpy._core.Virus, model: epiworldpy._core.Model) float#

Get the probability of recovery.

get_queue(self: epiworldpy._core.Virus) dict#

Get the queue.

get_state(self: epiworldpy._core.Virus) dict#

Set some state.

post_recovery(self: epiworldpy._core.Virus, model: epiworldpy._core.Model) None#
print(self: epiworldpy._core.Virus) None#

Print information about this virus.

set_date(self: epiworldpy._core.Virus, date: int) None#
set_distribution_fun(self: epiworldpy._core.Virus, fun: std::function<void (epiworld::Virus<int>&, epiworld::Model<int>*)>) None#

Set the distribution function.

set_incubation(self: epiworldpy._core.Virus, incubation: float) None#

Set the incubation period.

set_incubation_fun(self: epiworldpy._core.Virus, fun: std::function<float (epiworld::Agent<int>*, epiworld::Virus<int>&, epiworld::Model<int>*)>) None#

Set the incubation callback.

set_name(self: epiworldpy._core.Virus, name: str) None#

Set the tool name.

set_post_immunity(self: epiworldpy._core.Virus, : float) None#

Set the post immunity.

set_post_recovery(self: epiworldpy._core.Virus, Set the post recovery.: std::function<void (epiworld::Agent<int>*, epiworld::Virus<int>&, epiworld::Model<int>*)>) None#
set_prob_death(self: epiworldpy._core.Virus, prob_death: float) None#

Set the probability for mortality.

set_prob_death_fun(self: epiworldpy._core.Virus, fun: std::function<float (epiworld::Agent<int>*, epiworld::Virus<int>&, epiworld::Model<int>*)>) None#

Set the probability of death callback.

set_prob_infecting(self: epiworldpy._core.Virus, prob_infecting: float) None#

Set the probability of infection.

set_prob_infecting_fun(self: epiworldpy._core.Virus, fun: std::function<float (epiworld::Agent<int>*, epiworld::Virus<int>&, epiworld::Model<int>*)>) None#

Set the probability of infection callback.

set_prob_recovery(self: epiworldpy._core.Virus, prob_recovery: float) None#

Set the probability for recovery.

set_prob_recovery_fun(self: epiworldpy._core.Virus, fun: std::function<float (epiworld::Agent<int>*, epiworld::Virus<int>&, epiworld::Model<int>*)>) None#

Set the probability of recovery callback.

set_queue(self: epiworldpy._core.Virus, init: int, end: int, removed: int) None#
set_sequence(self: epiworldpy._core.Virus, sequence: int) None#

Set the sequence value.

set_state(self: epiworldpy._core.Virus, init: int, end: int, removed: int) None#

Set some state.