unified Module#

Unified Episia interface - main entry point.

This module provides the EpisiaAPI class and the epi singleton, which serves as the single entry point for all Episia functionality.

Class#

class episia.api.unified.EpisiaAPI[source]#

Bases: object

Unified Episia API single entry point for all functionality. Instantiated as the module-level epi singleton.

static cumulative_incidence(*args, **kwargs)[source]#
static diagnostic(*args, **kwargs)[source]#
static get_available_themes()[source]#
static incidence_rate(*args, **kwargs)[source]#
static mean_ci(*args, **kwargs)[source]#
static odds_ratio(*args, **kwargs)[source]#
static plot_epicurve(*args, **kwargs)[source]#
static plot_forest(*args, **kwargs)[source]#
static plot_roc(*args, **kwargs)[source]#
static prevalence(*args, **kwargs)[source]#
static proportion_ci(*args, **kwargs)[source]#
static read_csv(path, **kwargs)[source]#
static report(result, title=None, **kwargs)[source]#

Build a report from any EpiResult or ModelResult.

Parameters:
  • result (Any)

  • title (str | None)

static risk_ratio(*args, **kwargs)[source]#
static sample_size(*args, **kwargs)[source]#
static seir(N, I0, E0, beta, sigma, gamma, t_end=365, **kwargs)[source]#

Convenience factory for SEIRModel.

Parameters:
static seird(N, I0, E0, beta, sigma, gamma, mu, t_end=365, **kwargs)[source]#

Convenience factory for SEIRDModel.

Parameters:
static set_theme(theme)[source]#
Parameters:

theme (str)

Return type:

None

static sir(N, I0, beta, gamma, t_end=160, **kwargs)[source]#

Convenience factory for SIRModel.

Parameters:
static surveillance_from_csv(path, **kwargs)[source]#

Singleton#

episia.api.unified.epi = EpisiaAPI()#

Unified Episia API single entry point for all functionality. Instantiated as the module-level epi singleton.

Usage Examples#

Basic statistics:

from episia import epi

# Risk ratio
rr = epi.risk_ratio(a=40, b=10, c=20, d=30)
print(rr)

# Confidence interval for a proportion
prop = epi.proportion_ci(k=45, n=200, method="wilson")
print(prop)

Epidemic models:

# SEIR model
model = epi.seir(
    N=1_000_000, I0=10, E0=50,
    beta=0.35, sigma=1/5.2, gamma=1/14
)
result = model.run()
result.plot().show()

Data handling:

# Read surveillance data
ds = epi.read_csv("cases.csv", date_col="date", cases_col="cases")
ds.epicurve().plot().show()

Reporting:

# Generate report
report = epi.report(result, title="SEIR Analysis")
report.save_html("report.html")
report.save_markdown("report.md")

Theming:

# Change visualization theme
epi.set_theme("dark")
print(epi.get_available_themes())