Source code for biogeme.audit_tuple

import logging
from typing import NamedTuple
from itertools import chain

from biogeme.exceptions import BiogemeError

logger = logging.getLogger(__name__)


[docs] class AuditTuple(NamedTuple): errors: list[str] warnings: list[str]
[docs] def merge_audit_tuples(audit_tuples: list[AuditTuple]) -> AuditTuple: merged_errors = list(chain.from_iterable(a.errors for a in audit_tuples)) merged_warnings = list(chain.from_iterable(a.warnings for a in audit_tuples)) return AuditTuple(errors=merged_errors, warnings=merged_warnings)
[docs] def display_messages(audit_tuple: AuditTuple) -> None: for warning in audit_tuple.warnings: if warning: logger.warning(warning) if audit_tuple.errors: raise BiogemeError(audit_tuple.errors)