AFL.automation.mixing.BalanceDiagnosis#

Functions

dataclass([cls, init, repr, eq, order, ...])

Add dunder methods based on the fields defined in the class.

field(*[, default, default_factory, init, ...])

Return an object to identify dataclass fields.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

BalanceDiagnosis(success, details, ...)

Full diagnosis of a single balance result.

Enum(value)

Create a collection of name/value pairs.

FailureCode(value)

Machine-readable codes describing why a mass balance failed.

FailureDetail(code, description, ...)

One specific failure mode detected during diagnosis.

class AFL.automation.mixing.BalanceDiagnosis.FailureCode(value)[source]#

Machine-readable codes describing why a mass balance failed.

Codes are ordered from specific root causes to general symptoms so that the most actionable information appears first.

MISSING_STOCK_COMPONENT = 'missing_stock_component'#
STOCK_CONCENTRATION_TOO_LOW = 'stock_concentration_too_low'#
TARGET_OUTSIDE_REACHABLE_COMPOSITIONS = 'target_outside_reachable_compositions'#
BELOW_MINIMUM_PIPETTE_VOLUME = 'below_minimum_pipette_volume'#
UNWANTED_STOCK_COMPONENT = 'unwanted_stock_component'#
TOLERANCE_EXCEEDED = 'tolerance_exceeded'#
class AFL.automation.mixing.BalanceDiagnosis.FailureDetail(code: ~AFL.automation.mixing.BalanceDiagnosis.FailureCode, description: str, affected_components: ~typing.List[str] = <factory>, affected_stocks: ~typing.List[str] = <factory>, data: ~typing.Dict[str, ~typing.Any] = <factory>)[source]#

One specific failure mode detected during diagnosis.

code: FailureCode#
description: str#
affected_components: List[str]#
affected_stocks: List[str]#
data: Dict[str, Any]#
to_dict() Dict[str, Any][source]#
__init__(code: ~AFL.automation.mixing.BalanceDiagnosis.FailureCode, description: str, affected_components: ~typing.List[str] = <factory>, affected_stocks: ~typing.List[str] = <factory>, data: ~typing.Dict[str, ~typing.Any] = <factory>) None#
class AFL.automation.mixing.BalanceDiagnosis.BalanceDiagnosis(success: bool, details: ~typing.List[~AFL.automation.mixing.BalanceDiagnosis.FailureDetail] = <factory>, component_errors: ~typing.Dict[str, float] = <factory>)[source]#

Full diagnosis of a single balance result.

success: bool#
details: List[FailureDetail]#
component_errors: Dict[str, float]#
to_dict() Dict[str, Any][source]#
summary() str[source]#

Return a human-readable failure summary.

__init__(success: bool, details: ~typing.List[~AFL.automation.mixing.BalanceDiagnosis.FailureDetail] = <factory>, component_errors: ~typing.Dict[str, float] = <factory>) None#