This Python port of the R AMR package is complete for all critical workflows (SIR, antibiogram, breakpoints, MO/AB/AV normalization, veterinary breakpoints, translation). See port_status.md.
cd python-amr
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"ruff check src tests
mypy src
pytest -qCreate sir_values.json:
[0.25, 1, 2, 8]Run:
amr sir sir_values.json --microorganism B_ESCHR_COLI --antimicrobial AMX --guideline "EUCAST 2025"Expected output shape:
{"values": ["S", "S", "R", "R"], "guideline": "EUCAST 2025"}Create rows.json:
[
{"Pathogen": "Escherichia coli", "AMX": "S", "CIP": "R"},
{"Pathogen": "Escherichia coli", "AMX": "R", "CIP": "S"},
{"Pathogen": "Staphylococcus aureus", "AMX": "S", "CIP": "S"}
]Run:
amr antibiogram rows.json --pathogen-column Pathogen --antimicrobial-columns AMX,CIPimport polars as pl
from amr.core.interpretation import interpret_sir_values
from amr.core.antibiogram import compute_antibiogram
sir = interpret_sir_values(
values=[0.25, 1, 2, 8],
microorganism="B_ESCHR_COLI",
antimicrobial="AMX",
guideline="EUCAST 2025",
)
print(sir.sir_values)
ab = compute_antibiogram(
df=pl.DataFrame([
{"Pathogen": "Escherichia coli", "AMX": "S", "CIP": "R"},
{"Pathogen": "Escherichia coli", "AMX": "R", "CIP": "S"},
]),
pathogen_column="Pathogen",
antimicrobial_columns=["AMX", "CIP"],
)
print(ab)